@epilot/sdk 2.0.3 → 2.1.0-rc.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 (214) hide show
  1. package/definitions/access-token-runtime.json +1 -0
  2. package/definitions/access-token.json +663 -0
  3. package/definitions/address-runtime.json +1 -0
  4. package/definitions/address-suggestions-runtime.json +1 -0
  5. package/definitions/address-suggestions.json +582 -0
  6. package/definitions/address.json +578 -0
  7. package/definitions/ai-agents-runtime.json +1 -0
  8. package/definitions/ai-agents.json +1711 -0
  9. package/definitions/app-runtime.json +1 -0
  10. package/definitions/app.json +4443 -0
  11. package/definitions/audit-logs-runtime.json +1 -0
  12. package/definitions/audit-logs.json +305 -0
  13. package/definitions/automation-runtime.json +1 -0
  14. package/definitions/automation.json +4850 -0
  15. package/definitions/billing-runtime.json +1 -0
  16. package/definitions/billing.json +837 -0
  17. package/definitions/blueprint-manifest-runtime.json +1 -0
  18. package/definitions/blueprint-manifest.json +3376 -0
  19. package/definitions/consent-runtime.json +1 -0
  20. package/definitions/consent.json +344 -0
  21. package/definitions/customer-portal-runtime.json +1 -0
  22. package/definitions/customer-portal.json +15000 -0
  23. package/definitions/dashboard-runtime.json +1 -0
  24. package/definitions/dashboard.json +484 -0
  25. package/definitions/data-management-runtime.json +1 -0
  26. package/definitions/data-management.json +962 -0
  27. package/definitions/deduplication-runtime.json +1 -0
  28. package/definitions/deduplication.json +183 -0
  29. package/definitions/design-runtime.json +1 -0
  30. package/definitions/design.json +1423 -0
  31. package/definitions/document-runtime.json +1 -0
  32. package/definitions/document.json +758 -0
  33. package/definitions/email-settings-runtime.json +1 -0
  34. package/definitions/email-settings.json +2627 -0
  35. package/definitions/email-template-runtime.json +1 -0
  36. package/definitions/email-template.json +1419 -0
  37. package/definitions/entity-mapping-runtime.json +1 -0
  38. package/definitions/entity-mapping.json +1642 -0
  39. package/definitions/entity-runtime.json +1 -0
  40. package/definitions/entity.json +10074 -0
  41. package/definitions/environments-runtime.json +1 -0
  42. package/definitions/environments.json +363 -0
  43. package/definitions/erp-integration-runtime.json +1 -0
  44. package/definitions/erp-integration.json +5845 -0
  45. package/definitions/event-catalog-runtime.json +1 -0
  46. package/definitions/event-catalog.json +1051 -0
  47. package/definitions/file-runtime.json +1 -0
  48. package/definitions/file.json +2842 -0
  49. package/definitions/iban-runtime.json +1 -0
  50. package/definitions/iban.json +132 -0
  51. package/definitions/journey-runtime.json +1 -0
  52. package/definitions/journey.json +2341 -0
  53. package/definitions/kanban-runtime.json +1 -0
  54. package/definitions/kanban.json +929 -0
  55. package/definitions/message-runtime.json +1 -0
  56. package/definitions/message.json +2660 -0
  57. package/definitions/metering-runtime.json +1 -0
  58. package/definitions/metering.json +2321 -0
  59. package/definitions/notes-runtime.json +1 -0
  60. package/definitions/notes.json +1531 -0
  61. package/definitions/notification-runtime.json +1 -0
  62. package/definitions/notification.json +1425 -0
  63. package/definitions/organization-runtime.json +1 -0
  64. package/definitions/organization.json +629 -0
  65. package/definitions/partner-directory-runtime.json +1 -0
  66. package/definitions/partner-directory.json +1718 -0
  67. package/definitions/permissions-runtime.json +1 -0
  68. package/definitions/permissions.json +1480 -0
  69. package/definitions/pricing-runtime.json +1 -0
  70. package/definitions/pricing-tier-runtime.json +1 -0
  71. package/definitions/pricing-tier.json +105 -0
  72. package/definitions/pricing.json +9884 -0
  73. package/definitions/purpose-runtime.json +1 -0
  74. package/definitions/purpose.json +524 -0
  75. package/definitions/sandbox-runtime.json +1 -0
  76. package/definitions/sandbox.json +453 -0
  77. package/definitions/submission-runtime.json +1 -0
  78. package/definitions/submission.json +313 -0
  79. package/definitions/targeting-runtime.json +1 -0
  80. package/definitions/targeting.json +1474 -0
  81. package/definitions/template-variables-runtime.json +1 -0
  82. package/definitions/template-variables.json +1408 -0
  83. package/definitions/user-runtime.json +1 -0
  84. package/definitions/user.json +2408 -0
  85. package/definitions/validation-rules-runtime.json +1 -0
  86. package/definitions/validation-rules.json +1491 -0
  87. package/definitions/webhooks-runtime.json +1 -0
  88. package/definitions/webhooks.json +1525 -0
  89. package/definitions/workflow-definition-runtime.json +1 -0
  90. package/definitions/workflow-definition.json +3417 -0
  91. package/definitions/workflow-runtime.json +1 -0
  92. package/definitions/workflow.json +4106 -0
  93. package/dist/apis/access-token.cjs +7 -7
  94. package/dist/apis/access-token.js +1 -1
  95. package/dist/apis/address-suggestions.cjs +7 -7
  96. package/dist/apis/address-suggestions.js +1 -1
  97. package/dist/apis/address.cjs +7 -7
  98. package/dist/apis/address.js +1 -1
  99. package/dist/apis/ai-agents.cjs +7 -7
  100. package/dist/apis/ai-agents.js +1 -1
  101. package/dist/apis/app.cjs +7 -7
  102. package/dist/apis/app.d.cts +2 -2
  103. package/dist/apis/app.d.ts +2 -2
  104. package/dist/apis/app.js +1 -1
  105. package/dist/apis/audit-logs.cjs +7 -7
  106. package/dist/apis/audit-logs.js +1 -1
  107. package/dist/apis/automation.cjs +7 -7
  108. package/dist/apis/automation.js +1 -1
  109. package/dist/apis/billing.cjs +7 -7
  110. package/dist/apis/billing.js +1 -1
  111. package/dist/apis/blueprint-manifest.cjs +8 -8
  112. package/dist/apis/blueprint-manifest.d.cts +2 -2
  113. package/dist/apis/blueprint-manifest.d.ts +2 -2
  114. package/dist/apis/blueprint-manifest.js +2 -2
  115. package/dist/apis/consent.cjs +7 -7
  116. package/dist/apis/consent.js +1 -1
  117. package/dist/apis/customer-portal.cjs +7 -7
  118. package/dist/apis/customer-portal.js +1 -1
  119. package/dist/apis/dashboard.cjs +7 -7
  120. package/dist/apis/dashboard.js +1 -1
  121. package/dist/apis/data-management.cjs +7 -7
  122. package/dist/apis/data-management.d.cts +2 -2
  123. package/dist/apis/data-management.d.ts +2 -2
  124. package/dist/apis/data-management.js +1 -1
  125. package/dist/apis/deduplication.cjs +7 -7
  126. package/dist/apis/deduplication.js +1 -1
  127. package/dist/apis/design.cjs +7 -7
  128. package/dist/apis/design.js +1 -1
  129. package/dist/apis/document.cjs +7 -7
  130. package/dist/apis/document.js +1 -1
  131. package/dist/apis/email-settings.cjs +7 -7
  132. package/dist/apis/email-settings.js +1 -1
  133. package/dist/apis/email-template.cjs +7 -7
  134. package/dist/apis/email-template.d.cts +2 -2
  135. package/dist/apis/email-template.d.ts +2 -2
  136. package/dist/apis/email-template.js +1 -1
  137. package/dist/apis/entity-mapping.cjs +7 -7
  138. package/dist/apis/entity-mapping.js +1 -1
  139. package/dist/apis/entity.cjs +8 -8
  140. package/dist/apis/entity.d.cts +2 -2
  141. package/dist/apis/entity.d.ts +2 -2
  142. package/dist/apis/entity.js +2 -2
  143. package/dist/apis/environments.cjs +7 -7
  144. package/dist/apis/environments.js +1 -1
  145. package/dist/apis/erp-integration.cjs +7 -7
  146. package/dist/apis/erp-integration.js +1 -1
  147. package/dist/apis/event-catalog.cjs +7 -7
  148. package/dist/apis/event-catalog.js +1 -1
  149. package/dist/apis/file.cjs +7 -7
  150. package/dist/apis/file.js +1 -1
  151. package/dist/apis/iban.cjs +7 -7
  152. package/dist/apis/iban.js +1 -1
  153. package/dist/apis/journey.cjs +7 -7
  154. package/dist/apis/journey.js +1 -1
  155. package/dist/apis/kanban.cjs +7 -7
  156. package/dist/apis/kanban.js +1 -1
  157. package/dist/apis/message.cjs +7 -7
  158. package/dist/apis/message.js +1 -1
  159. package/dist/apis/metering.cjs +7 -7
  160. package/dist/apis/metering.js +1 -1
  161. package/dist/apis/notes.cjs +7 -7
  162. package/dist/apis/notes.js +1 -1
  163. package/dist/apis/notification.cjs +7 -7
  164. package/dist/apis/notification.js +1 -1
  165. package/dist/apis/organization.cjs +7 -7
  166. package/dist/apis/organization.js +1 -1
  167. package/dist/apis/partner-directory.cjs +7 -7
  168. package/dist/apis/partner-directory.js +1 -1
  169. package/dist/apis/permissions.cjs +7 -7
  170. package/dist/apis/permissions.js +1 -1
  171. package/dist/apis/pricing-tier.cjs +7 -7
  172. package/dist/apis/pricing-tier.js +1 -1
  173. package/dist/apis/pricing.cjs +7 -7
  174. package/dist/apis/pricing.js +1 -1
  175. package/dist/apis/purpose.cjs +7 -7
  176. package/dist/apis/purpose.js +1 -1
  177. package/dist/apis/sandbox.cjs +7 -7
  178. package/dist/apis/sandbox.js +1 -1
  179. package/dist/apis/submission.cjs +7 -7
  180. package/dist/apis/submission.js +1 -1
  181. package/dist/apis/targeting.cjs +7 -7
  182. package/dist/apis/targeting.js +1 -1
  183. package/dist/apis/template-variables.cjs +7 -7
  184. package/dist/apis/template-variables.js +1 -1
  185. package/dist/apis/user.cjs +7 -7
  186. package/dist/apis/user.js +1 -1
  187. package/dist/apis/validation-rules.cjs +7 -7
  188. package/dist/apis/validation-rules.js +1 -1
  189. package/dist/apis/webhooks.cjs +7 -7
  190. package/dist/apis/webhooks.js +1 -1
  191. package/dist/apis/workflow-definition.cjs +7 -7
  192. package/dist/apis/workflow-definition.js +1 -1
  193. package/dist/apis/workflow.cjs +7 -7
  194. package/dist/apis/workflow.js +1 -1
  195. package/dist/{app.d-Dr03n4J4.d.cts → app.d-BXy_QUym.d.cts} +21 -3
  196. package/dist/{app.d-Dr03n4J4.d.ts → app.d-BXy_QUym.d.ts} +21 -3
  197. package/dist/bin/cli.js +123 -25
  198. package/dist/{blueprint-manifest.d-CEWRdF3i.d.ts → blueprint-manifest.d-DECw6HdM.d.cts} +110 -2
  199. package/dist/{blueprint-manifest.d-CEWRdF3i.d.cts → blueprint-manifest.d-DECw6HdM.d.ts} +110 -2
  200. package/dist/{chunk-QMQNMCOC.js → chunk-XE25WERA.js} +1 -1
  201. package/dist/{chunk-5LXNSDG2.cjs → chunk-XEQMAKGA.cjs} +1 -1
  202. package/dist/{data-management.d-pnuiRU2h.d.cts → data-management.d-CkDmJwpx.d.cts} +1 -2
  203. package/dist/{data-management.d-pnuiRU2h.d.ts → data-management.d-CkDmJwpx.d.ts} +1 -2
  204. package/dist/{email-template.d-BeqkDHtk.d.cts → email-template.d-gtQkdaXM.d.cts} +17 -3
  205. package/dist/{email-template.d-BeqkDHtk.d.ts → email-template.d-gtQkdaXM.d.ts} +17 -3
  206. package/dist/{entity.d-CrtZaZr8.d.cts → entity.d-DtiajmaY.d.cts} +292 -10
  207. package/dist/{entity.d-CrtZaZr8.d.ts → entity.d-DtiajmaY.d.ts} +292 -10
  208. package/dist/index.cjs +17 -17
  209. package/dist/index.d.cts +5 -5
  210. package/dist/index.d.ts +5 -5
  211. package/dist/index.js +10 -10
  212. package/dist/js-yaml-UPZKYVRY.js +2645 -0
  213. package/package.json +11 -10
  214. package/LICENSE +0 -21
@@ -0,0 +1,2408 @@
1
+ {
2
+ "openapi": "3.0.2",
3
+ "info": {
4
+ "title": "User API",
5
+ "version": "2.0.0",
6
+ "description": "Manage users in epilot organization(s)\n"
7
+ },
8
+ "tags": [
9
+ {
10
+ "name": "User V2",
11
+ "description": "User API V2"
12
+ },
13
+ {
14
+ "name": "User V1",
15
+ "description": "Legacy User API"
16
+ },
17
+ {
18
+ "name": "Group",
19
+ "description": "User Groups"
20
+ },
21
+ {
22
+ "name": "Navigation",
23
+ "description": "Customized Workplace Navigation Configurations"
24
+ }
25
+ ],
26
+ "security": [
27
+ {
28
+ "EpilotAuth": []
29
+ }
30
+ ],
31
+ "paths": {
32
+ "/v2/users/public/signup": {
33
+ "post": {
34
+ "operationId": "signUpUser",
35
+ "summary": "signUpUser",
36
+ "security": [],
37
+ "parameters": [
38
+ {
39
+ "name": "token",
40
+ "in": "query",
41
+ "description": "Partner invitation token",
42
+ "required": false,
43
+ "schema": {
44
+ "$ref": "#/components/schemas/PartnerInvitationToken"
45
+ }
46
+ }
47
+ ],
48
+ "tags": [
49
+ "User V2"
50
+ ],
51
+ "requestBody": {
52
+ "content": {
53
+ "application/json": {
54
+ "schema": {
55
+ "$ref": "#/components/schemas/SignupUserPayload"
56
+ }
57
+ }
58
+ }
59
+ },
60
+ "responses": {
61
+ "200": {
62
+ "description": "The created user and organization",
63
+ "content": {
64
+ "application/json": {
65
+ "schema": {
66
+ "type": "object",
67
+ "properties": {
68
+ "user": {
69
+ "$ref": "#/components/schemas/User"
70
+ },
71
+ "organization": {
72
+ "$ref": "#/components/schemas/Organization"
73
+ }
74
+ }
75
+ }
76
+ }
77
+ }
78
+ }
79
+ }
80
+ }
81
+ },
82
+ "/v2/users/me": {
83
+ "get": {
84
+ "operationId": "getMeV2",
85
+ "summary": "getMeV2",
86
+ "description": "Get currently logged in user",
87
+ "tags": [
88
+ "User V2"
89
+ ],
90
+ "responses": {
91
+ "200": {
92
+ "description": "currently logged in user",
93
+ "content": {
94
+ "application/json": {
95
+ "schema": {
96
+ "$ref": "#/components/schemas/UserV2"
97
+ }
98
+ }
99
+ }
100
+ }
101
+ }
102
+ }
103
+ },
104
+ "/v2/users": {
105
+ "get": {
106
+ "operationId": "listUsersV2",
107
+ "summary": "listUsersV2",
108
+ "parameters": [
109
+ {
110
+ "name": "query",
111
+ "in": "query",
112
+ "description": "Query text to filter by",
113
+ "required": false,
114
+ "schema": {
115
+ "$ref": "#/components/schemas/Query"
116
+ }
117
+ },
118
+ {
119
+ "name": "limit",
120
+ "in": "query",
121
+ "description": "Limit the results size",
122
+ "required": false,
123
+ "schema": {
124
+ "$ref": "#/components/schemas/Limit"
125
+ }
126
+ },
127
+ {
128
+ "name": "offset",
129
+ "in": "query",
130
+ "description": "Specify the offset",
131
+ "required": false,
132
+ "schema": {
133
+ "$ref": "#/components/schemas/Offset"
134
+ }
135
+ }
136
+ ],
137
+ "description": "Get the list of organization users",
138
+ "tags": [
139
+ "User V2"
140
+ ],
141
+ "responses": {
142
+ "200": {
143
+ "description": "List of organization users",
144
+ "content": {
145
+ "application/json": {
146
+ "schema": {
147
+ "type": "object",
148
+ "properties": {
149
+ "results": {
150
+ "type": "array",
151
+ "items": {
152
+ "$ref": "#/components/schemas/UserV2"
153
+ }
154
+ }
155
+ }
156
+ }
157
+ }
158
+ }
159
+ }
160
+ }
161
+ }
162
+ },
163
+ "/v2/users/{id}": {
164
+ "get": {
165
+ "operationId": "getUserV2",
166
+ "summary": "getUserV2",
167
+ "description": "Get user details by user id",
168
+ "tags": [
169
+ "User V2"
170
+ ],
171
+ "parameters": [
172
+ {
173
+ "in": "path",
174
+ "name": "id",
175
+ "schema": {
176
+ "$ref": "#/components/schemas/UserId"
177
+ },
178
+ "required": true,
179
+ "description": "The Id of user"
180
+ }
181
+ ],
182
+ "responses": {
183
+ "200": {
184
+ "description": "The returned user",
185
+ "content": {
186
+ "application/json": {
187
+ "schema": {
188
+ "$ref": "#/components/schemas/UserV2"
189
+ }
190
+ }
191
+ }
192
+ }
193
+ }
194
+ },
195
+ "patch": {
196
+ "operationId": "updateUserV2",
197
+ "summary": "updateUserV2",
198
+ "description": "Update user details",
199
+ "tags": [
200
+ "User V2"
201
+ ],
202
+ "parameters": [
203
+ {
204
+ "in": "path",
205
+ "name": "id",
206
+ "schema": {
207
+ "$ref": "#/components/schemas/UserId"
208
+ },
209
+ "required": true,
210
+ "description": "The Id of user"
211
+ }
212
+ ],
213
+ "requestBody": {
214
+ "content": {
215
+ "application/json": {
216
+ "schema": {
217
+ "$ref": "#/components/schemas/UserV2"
218
+ }
219
+ }
220
+ }
221
+ },
222
+ "responses": {
223
+ "200": {
224
+ "description": "The returned user",
225
+ "content": {
226
+ "application/json": {
227
+ "schema": {
228
+ "$ref": "#/components/schemas/UserV2"
229
+ }
230
+ }
231
+ }
232
+ }
233
+ }
234
+ },
235
+ "delete": {
236
+ "operationId": "deleteUserV2",
237
+ "summary": "deleteUserV2",
238
+ "description": "Delete user by user id",
239
+ "tags": [
240
+ "User V2"
241
+ ],
242
+ "parameters": [
243
+ {
244
+ "in": "path",
245
+ "name": "id",
246
+ "schema": {
247
+ "$ref": "#/components/schemas/UserId"
248
+ },
249
+ "required": true,
250
+ "description": "The Id of user"
251
+ }
252
+ ],
253
+ "responses": {
254
+ "200": {
255
+ "description": "The deleted user",
256
+ "content": {
257
+ "application/json": {
258
+ "schema": {
259
+ "$ref": "#/components/schemas/User"
260
+ }
261
+ }
262
+ }
263
+ }
264
+ }
265
+ }
266
+ },
267
+ "/v2/users/invite": {
268
+ "post": {
269
+ "operationId": "inviteUser",
270
+ "summary": "inviteUser",
271
+ "description": "Creates a new user in the caller's organization and sends an invite email to activate the user\n",
272
+ "tags": [
273
+ "User V2"
274
+ ],
275
+ "requestBody": {
276
+ "content": {
277
+ "application/json": {
278
+ "schema": {
279
+ "$ref": "#/components/schemas/UserInvitationPayload"
280
+ }
281
+ }
282
+ }
283
+ },
284
+ "responses": {
285
+ "201": {
286
+ "description": "Invited successfully",
287
+ "content": {
288
+ "application/json": {
289
+ "schema": {
290
+ "$ref": "#/components/schemas/UserV2"
291
+ }
292
+ }
293
+ }
294
+ },
295
+ "400": {
296
+ "description": "Unable to invite the above email address."
297
+ }
298
+ }
299
+ }
300
+ },
301
+ "/v2/users/invite:resendEmail": {
302
+ "post": {
303
+ "operationId": "resendUserInvitation",
304
+ "summary": "resendUserInvitation",
305
+ "description": "Resend user invitation email",
306
+ "tags": [
307
+ "User V2"
308
+ ],
309
+ "requestBody": {
310
+ "content": {
311
+ "application/json": {
312
+ "schema": {
313
+ "type": "object",
314
+ "properties": {
315
+ "email": {
316
+ "type": "string",
317
+ "description": "Email address of the address",
318
+ "example": "test@example.com"
319
+ },
320
+ "language": {
321
+ "type": "string",
322
+ "description": "Language for user invitation email",
323
+ "enum": [
324
+ "en",
325
+ "de"
326
+ ],
327
+ "default": "en"
328
+ }
329
+ }
330
+ }
331
+ }
332
+ }
333
+ },
334
+ "responses": {
335
+ "200": {
336
+ "description": "User Invitation sent successfully.",
337
+ "content": {
338
+ "application/json": {
339
+ "schema": {
340
+ "$ref": "#/components/schemas/UserV2"
341
+ }
342
+ }
343
+ }
344
+ },
345
+ "400": {
346
+ "description": "User not found."
347
+ }
348
+ }
349
+ }
350
+ },
351
+ "/v2/users/{id}/groups": {
352
+ "get": {
353
+ "operationId": "getGroupsForUser",
354
+ "summary": "getGroupsForUser",
355
+ "description": "Get groups of a user",
356
+ "tags": [
357
+ "User V2"
358
+ ],
359
+ "parameters": [
360
+ {
361
+ "in": "path",
362
+ "name": "id",
363
+ "schema": {
364
+ "$ref": "#/components/schemas/UserId"
365
+ },
366
+ "required": true,
367
+ "description": "The Id of user"
368
+ }
369
+ ],
370
+ "responses": {
371
+ "200": {
372
+ "description": "The returned user groups",
373
+ "content": {
374
+ "application/json": {
375
+ "schema": {
376
+ "type": "array",
377
+ "items": {
378
+ "$ref": "#/components/schemas/Group"
379
+ }
380
+ }
381
+ }
382
+ }
383
+ }
384
+ }
385
+ }
386
+ },
387
+ "/v1/groups": {
388
+ "get": {
389
+ "operationId": "getGroups",
390
+ "summary": "getGroups",
391
+ "description": "Lists groups in organizations you have access to",
392
+ "tags": [
393
+ "Group"
394
+ ],
395
+ "parameters": [
396
+ {
397
+ "name": "query",
398
+ "in": "query",
399
+ "description": "Query name to filter by",
400
+ "required": false,
401
+ "schema": {
402
+ "$ref": "#/components/schemas/Query"
403
+ }
404
+ },
405
+ {
406
+ "name": "limit",
407
+ "in": "query",
408
+ "description": "Limit the results size",
409
+ "required": false,
410
+ "schema": {
411
+ "$ref": "#/components/schemas/Limit"
412
+ }
413
+ },
414
+ {
415
+ "name": "offset",
416
+ "in": "query",
417
+ "description": "Specify the offset",
418
+ "required": false,
419
+ "schema": {
420
+ "$ref": "#/components/schemas/Offset"
421
+ }
422
+ },
423
+ {
424
+ "name": "hydrate",
425
+ "in": "query",
426
+ "description": "Pass it true when you want to hydrate the group with full user details",
427
+ "required": false,
428
+ "schema": {
429
+ "$ref": "#/components/schemas/Hydrate"
430
+ }
431
+ }
432
+ ],
433
+ "responses": {
434
+ "200": {
435
+ "description": "List of groups",
436
+ "content": {
437
+ "application/json": {
438
+ "schema": {
439
+ "type": "object",
440
+ "properties": {
441
+ "hits": {
442
+ "type": "number",
443
+ "example": 1
444
+ },
445
+ "groups": {
446
+ "type": "array",
447
+ "items": {
448
+ "$ref": "#/components/schemas/Group"
449
+ }
450
+ }
451
+ }
452
+ }
453
+ }
454
+ }
455
+ }
456
+ }
457
+ },
458
+ "post": {
459
+ "operationId": "createGroup",
460
+ "summary": "createGroup",
461
+ "description": "Create a new group",
462
+ "tags": [
463
+ "Group"
464
+ ],
465
+ "requestBody": {
466
+ "content": {
467
+ "application/json": {
468
+ "schema": {
469
+ "$ref": "#/components/schemas/CreateGroupReq"
470
+ }
471
+ }
472
+ }
473
+ },
474
+ "responses": {
475
+ "201": {
476
+ "description": "Group created successfully",
477
+ "content": {
478
+ "application/json": {
479
+ "schema": {
480
+ "$ref": "#/components/schemas/Group"
481
+ }
482
+ }
483
+ }
484
+ }
485
+ }
486
+ }
487
+ },
488
+ "/v1/groups/{id}": {
489
+ "get": {
490
+ "operationId": "getGroup",
491
+ "summary": "getGroup",
492
+ "description": "Get group by id",
493
+ "tags": [
494
+ "Group"
495
+ ],
496
+ "parameters": [
497
+ {
498
+ "name": "id",
499
+ "in": "path",
500
+ "description": "Group id",
501
+ "required": true,
502
+ "schema": {
503
+ "$ref": "#/components/schemas/GroupId"
504
+ }
505
+ },
506
+ {
507
+ "name": "hydrate",
508
+ "in": "query",
509
+ "description": "Pass it true when you want to hydrate the group with full user details",
510
+ "required": false,
511
+ "schema": {
512
+ "$ref": "#/components/schemas/Hydrate"
513
+ }
514
+ }
515
+ ],
516
+ "responses": {
517
+ "200": {
518
+ "description": "Group",
519
+ "content": {
520
+ "application/json": {
521
+ "schema": {
522
+ "$ref": "#/components/schemas/Group"
523
+ }
524
+ }
525
+ }
526
+ },
527
+ "404": {
528
+ "description": "Group not found"
529
+ }
530
+ }
531
+ },
532
+ "patch": {
533
+ "operationId": "updateGroup",
534
+ "summary": "updateGroup",
535
+ "description": "Update group by id",
536
+ "tags": [
537
+ "Group"
538
+ ],
539
+ "parameters": [
540
+ {
541
+ "name": "id",
542
+ "in": "path",
543
+ "description": "Group id",
544
+ "required": true,
545
+ "schema": {
546
+ "$ref": "#/components/schemas/GroupId"
547
+ }
548
+ }
549
+ ],
550
+ "requestBody": {
551
+ "content": {
552
+ "application/json": {
553
+ "schema": {
554
+ "$ref": "#/components/schemas/UpdateGroupReq"
555
+ }
556
+ }
557
+ }
558
+ },
559
+ "responses": {
560
+ "201": {
561
+ "description": "Group created successfully",
562
+ "content": {
563
+ "application/json": {
564
+ "schema": {
565
+ "$ref": "#/components/schemas/Group"
566
+ }
567
+ }
568
+ }
569
+ },
570
+ "404": {
571
+ "description": "Group not found"
572
+ }
573
+ }
574
+ },
575
+ "delete": {
576
+ "operationId": "deleteGroup",
577
+ "summary": "deleteGroup",
578
+ "description": "Delete group by id",
579
+ "tags": [
580
+ "Group"
581
+ ],
582
+ "parameters": [
583
+ {
584
+ "name": "id",
585
+ "in": "path",
586
+ "description": "Group id",
587
+ "required": true,
588
+ "schema": {
589
+ "$ref": "#/components/schemas/GroupId"
590
+ }
591
+ }
592
+ ],
593
+ "responses": {
594
+ "204": {
595
+ "description": "Group deleted successfully"
596
+ }
597
+ }
598
+ }
599
+ },
600
+ "/v1/groups/{id}/user:next": {
601
+ "post": {
602
+ "operationId": "advanceUserAssignment",
603
+ "summary": "advanceUserAssignment",
604
+ "description": "Advance user assignment to next user in line",
605
+ "tags": [
606
+ "Group"
607
+ ],
608
+ "parameters": [
609
+ {
610
+ "name": "id",
611
+ "in": "path",
612
+ "description": "Group id",
613
+ "required": true,
614
+ "schema": {
615
+ "$ref": "#/components/schemas/GroupId"
616
+ }
617
+ }
618
+ ],
619
+ "responses": {
620
+ "200": {
621
+ "description": "Updated user group with crt_assignee updated to next user in line",
622
+ "content": {
623
+ "application/json": {
624
+ "schema": {
625
+ "$ref": "#/components/schemas/Group"
626
+ }
627
+ }
628
+ }
629
+ },
630
+ "404": {
631
+ "description": "Group not found"
632
+ },
633
+ "422": {
634
+ "description": "User Group has no users assigned, thus it cannot advance to next user"
635
+ }
636
+ }
637
+ }
638
+ },
639
+ "/v2/user/navigations": {
640
+ "post": {
641
+ "operationId": "createNavigation",
642
+ "summary": "createNavigation",
643
+ "description": "Create a new navigation configuration. Navigations are immutable and globally accessible across organizations.\nEach creation generates a new id. To update a navigation, create a new one.\n",
644
+ "tags": [
645
+ "Navigation"
646
+ ],
647
+ "requestBody": {
648
+ "content": {
649
+ "application/json": {
650
+ "schema": {
651
+ "$ref": "#/components/schemas/NavigationCreateRequest"
652
+ }
653
+ }
654
+ }
655
+ },
656
+ "responses": {
657
+ "201": {
658
+ "description": "Navigation created successfully",
659
+ "content": {
660
+ "application/json": {
661
+ "schema": {
662
+ "$ref": "#/components/schemas/Navigation"
663
+ }
664
+ }
665
+ }
666
+ }
667
+ }
668
+ }
669
+ },
670
+ "/v2/user/navigations/{id}": {
671
+ "get": {
672
+ "operationId": "getNavigation",
673
+ "summary": "getNavigation",
674
+ "description": "Get a navigation configuration by ID",
675
+ "tags": [
676
+ "Navigation"
677
+ ],
678
+ "parameters": [
679
+ {
680
+ "in": "path",
681
+ "name": "id",
682
+ "schema": {
683
+ "$ref": "#/components/schemas/NavigationId"
684
+ },
685
+ "required": true,
686
+ "description": "The UUID of the navigation"
687
+ }
688
+ ],
689
+ "responses": {
690
+ "200": {
691
+ "description": "The navigation configuration",
692
+ "content": {
693
+ "application/json": {
694
+ "schema": {
695
+ "$ref": "#/components/schemas/Navigation"
696
+ }
697
+ }
698
+ }
699
+ },
700
+ "404": {
701
+ "description": "Navigation not found"
702
+ }
703
+ }
704
+ }
705
+ },
706
+ "/v2/users/public/verifyEmail": {
707
+ "post": {
708
+ "operationId": "verifyEmailWithToken",
709
+ "summary": "verifyEmailWithToken",
710
+ "description": "Update new email using an verification token",
711
+ "security": [],
712
+ "tags": [
713
+ "User V2"
714
+ ],
715
+ "parameters": [
716
+ {
717
+ "in": "query",
718
+ "name": "token",
719
+ "schema": {
720
+ "$ref": "#/components/schemas/VerificationToken"
721
+ },
722
+ "required": true,
723
+ "description": "Verification Token"
724
+ }
725
+ ],
726
+ "requestBody": {
727
+ "content": {
728
+ "application/json": {
729
+ "schema": {
730
+ "$ref": "#/components/schemas/UserVerificationPayload"
731
+ }
732
+ }
733
+ }
734
+ },
735
+ "responses": {
736
+ "200": {
737
+ "description": "Verified successfully"
738
+ },
739
+ "404": {
740
+ "description": "Token not found"
741
+ }
742
+ }
743
+ }
744
+ },
745
+ "/v2/users/public/checkToken": {
746
+ "get": {
747
+ "operationId": "checkInviteToken",
748
+ "summary": "checkInviteToken",
749
+ "description": "Check an invite token",
750
+ "security": [],
751
+ "tags": [
752
+ "User V2"
753
+ ],
754
+ "parameters": [
755
+ {
756
+ "in": "query",
757
+ "name": "token",
758
+ "schema": {
759
+ "$ref": "#/components/schemas/InviteToken"
760
+ },
761
+ "required": true,
762
+ "description": "Invite Token"
763
+ }
764
+ ],
765
+ "responses": {
766
+ "200": {
767
+ "description": "Invite token found",
768
+ "content": {
769
+ "application/json": {
770
+ "schema": {
771
+ "type": "object",
772
+ "properties": {
773
+ "invitation_org_id": {
774
+ "type": "string",
775
+ "description": "Organization ID of the organization that invited the user"
776
+ },
777
+ "invitation_org_name": {
778
+ "type": "string",
779
+ "description": "Name of the organization that invited the user"
780
+ },
781
+ "invitation_org_logo_url": {
782
+ "type": "string",
783
+ "description": "Logo URL of the organization that invited the user"
784
+ },
785
+ "invitation_org_logo_thumbnail_url": {
786
+ "type": "string",
787
+ "description": "Logo Thumbnail URL of the organization that invited the user"
788
+ },
789
+ "invitee_user_id": {
790
+ "type": "string",
791
+ "description": "User ID of the invited user"
792
+ },
793
+ "invitee_primary_org_id": {
794
+ "type": "string",
795
+ "description": "Organization ID of the primary organization of the user (when inviting an existing epilot user)"
796
+ }
797
+ },
798
+ "required": [
799
+ "invitee_user_id",
800
+ "invitation_org_id",
801
+ "invitation_org_name"
802
+ ]
803
+ }
804
+ }
805
+ }
806
+ },
807
+ "404": {
808
+ "description": "Token not found"
809
+ }
810
+ }
811
+ }
812
+ },
813
+ "/v2/users/public/activate": {
814
+ "post": {
815
+ "operationId": "activateUser",
816
+ "summary": "activateUser",
817
+ "description": "Activate user using an invite token",
818
+ "security": [],
819
+ "tags": [
820
+ "User V2"
821
+ ],
822
+ "parameters": [
823
+ {
824
+ "in": "query",
825
+ "name": "token",
826
+ "schema": {
827
+ "$ref": "#/components/schemas/InviteToken"
828
+ },
829
+ "required": true,
830
+ "description": "Invite Token"
831
+ }
832
+ ],
833
+ "requestBody": {
834
+ "content": {
835
+ "application/json": {
836
+ "schema": {
837
+ "$ref": "#/components/schemas/UserActivationPayload"
838
+ }
839
+ }
840
+ }
841
+ },
842
+ "responses": {
843
+ "200": {
844
+ "description": "Activated successfully"
845
+ },
846
+ "400": {
847
+ "description": "Invalid payload"
848
+ },
849
+ "404": {
850
+ "description": "Token not found for the user"
851
+ }
852
+ }
853
+ }
854
+ },
855
+ "/v2/users/public/reject": {
856
+ "delete": {
857
+ "operationId": "rejectInvite",
858
+ "summary": "rejectInvite",
859
+ "description": "Reject an invite",
860
+ "security": [],
861
+ "tags": [
862
+ "User V2"
863
+ ],
864
+ "parameters": [
865
+ {
866
+ "in": "query",
867
+ "name": "token",
868
+ "schema": {
869
+ "$ref": "#/components/schemas/InviteToken"
870
+ },
871
+ "required": true,
872
+ "description": "Invite Token"
873
+ }
874
+ ],
875
+ "responses": {
876
+ "200": {
877
+ "description": "Rejected invite successfully",
878
+ "content": {
879
+ "application/json": {
880
+ "schema": {
881
+ "type": "object",
882
+ "properties": {
883
+ "success": {
884
+ "type": "boolean",
885
+ "example": true
886
+ }
887
+ }
888
+ }
889
+ }
890
+ }
891
+ },
892
+ "404": {
893
+ "description": "Token not found for the user"
894
+ }
895
+ }
896
+ }
897
+ },
898
+ "/v2/users/public/username/{username}:getLoginParameters": {
899
+ "get": {
900
+ "operationId": "getUserLoginParametersV2",
901
+ "summary": "getUserLoginParametersV2",
902
+ "description": "Get user organization login parameters by username\n\nThe first item in the list corresponds to the user's primary organization and must be used for initial login.\n",
903
+ "security": [],
904
+ "parameters": [
905
+ {
906
+ "name": "username",
907
+ "in": "path",
908
+ "description": "Username",
909
+ "required": true,
910
+ "schema": {
911
+ "$ref": "#/components/schemas/Username"
912
+ }
913
+ }
914
+ ],
915
+ "tags": [
916
+ "User V2"
917
+ ],
918
+ "responses": {
919
+ "200": {
920
+ "description": "User",
921
+ "content": {
922
+ "application/json": {
923
+ "schema": {
924
+ "type": "object",
925
+ "properties": {
926
+ "login_parameters": {
927
+ "type": "array",
928
+ "items": {
929
+ "$ref": "#/components/schemas/LoginParameters"
930
+ }
931
+ }
932
+ }
933
+ }
934
+ }
935
+ }
936
+ }
937
+ }
938
+ }
939
+ },
940
+ "/v2/users/public/passkeys:authenticateBegin": {
941
+ "post": {
942
+ "operationId": "beginPasskeyAuthentication",
943
+ "summary": "beginPasskeyAuthentication",
944
+ "description": "Begin passkey authentication flow. Returns WebAuthn options and a signed challenge token.",
945
+ "security": [],
946
+ "tags": [
947
+ "User V2"
948
+ ],
949
+ "requestBody": {
950
+ "content": {
951
+ "application/json": {
952
+ "schema": {
953
+ "type": "object",
954
+ "properties": {
955
+ "email": {
956
+ "type": "string",
957
+ "format": "email"
958
+ }
959
+ },
960
+ "required": [
961
+ "email"
962
+ ]
963
+ }
964
+ }
965
+ }
966
+ },
967
+ "responses": {
968
+ "200": {
969
+ "description": "WebAuthn authentication options",
970
+ "content": {
971
+ "application/json": {
972
+ "schema": {
973
+ "$ref": "#/components/schemas/PasskeyAuthenticationOptions"
974
+ }
975
+ }
976
+ }
977
+ },
978
+ "404": {
979
+ "description": "User not found or no passkeys registered"
980
+ }
981
+ }
982
+ }
983
+ },
984
+ "/v2/users/public/passkeys:authenticateBeginDiscoverable": {
985
+ "post": {
986
+ "operationId": "beginDiscoverablePasskeyAuthentication",
987
+ "summary": "beginDiscoverablePasskeyAuthentication",
988
+ "description": "Begin discoverable passkey authentication flow (no email required). Returns WebAuthn options with empty allowCredentials for the browser credential picker.",
989
+ "security": [],
990
+ "tags": [
991
+ "User V2"
992
+ ],
993
+ "responses": {
994
+ "200": {
995
+ "description": "WebAuthn discoverable authentication options",
996
+ "content": {
997
+ "application/json": {
998
+ "schema": {
999
+ "$ref": "#/components/schemas/PasskeyAuthenticationOptions"
1000
+ }
1001
+ }
1002
+ }
1003
+ }
1004
+ }
1005
+ }
1006
+ },
1007
+ "/v2/users/public/passkeys:resolveCredential": {
1008
+ "post": {
1009
+ "operationId": "resolveDiscoverableCredential",
1010
+ "summary": "resolveDiscoverableCredential",
1011
+ "description": "Resolve user identity from a discoverable passkey assertion. Returns the user's email and login parameters.",
1012
+ "security": [],
1013
+ "tags": [
1014
+ "User V2"
1015
+ ],
1016
+ "requestBody": {
1017
+ "content": {
1018
+ "application/json": {
1019
+ "schema": {
1020
+ "type": "object",
1021
+ "properties": {
1022
+ "challenge_token": {
1023
+ "type": "string",
1024
+ "description": "The challenge token from authenticateBeginDiscoverable"
1025
+ },
1026
+ "assertion_response": {
1027
+ "type": "object",
1028
+ "description": "WebAuthn AuthenticatorAssertionResponse JSON"
1029
+ }
1030
+ },
1031
+ "required": [
1032
+ "challenge_token",
1033
+ "assertion_response"
1034
+ ]
1035
+ }
1036
+ }
1037
+ }
1038
+ },
1039
+ "responses": {
1040
+ "200": {
1041
+ "description": "Resolved user identity and login parameters",
1042
+ "content": {
1043
+ "application/json": {
1044
+ "schema": {
1045
+ "type": "object",
1046
+ "properties": {
1047
+ "email": {
1048
+ "type": "string",
1049
+ "format": "email"
1050
+ },
1051
+ "organization_id": {
1052
+ "type": "string"
1053
+ },
1054
+ "user_id": {
1055
+ "type": "string"
1056
+ },
1057
+ "login_parameters": {
1058
+ "type": "array",
1059
+ "items": {
1060
+ "$ref": "#/components/schemas/LoginParameters"
1061
+ }
1062
+ }
1063
+ }
1064
+ }
1065
+ }
1066
+ }
1067
+ },
1068
+ "404": {
1069
+ "description": "Credential not found"
1070
+ }
1071
+ }
1072
+ }
1073
+ },
1074
+ "/v2/users/me/passkeys:registerBegin": {
1075
+ "post": {
1076
+ "operationId": "beginPasskeyRegistration",
1077
+ "summary": "beginPasskeyRegistration",
1078
+ "description": "Begin passkey registration flow for the authenticated user.",
1079
+ "tags": [
1080
+ "User V2"
1081
+ ],
1082
+ "requestBody": {
1083
+ "content": {
1084
+ "application/json": {
1085
+ "schema": {
1086
+ "type": "object",
1087
+ "properties": {
1088
+ "friendly_name": {
1089
+ "type": "string",
1090
+ "example": "My Laptop"
1091
+ }
1092
+ }
1093
+ }
1094
+ }
1095
+ }
1096
+ },
1097
+ "responses": {
1098
+ "200": {
1099
+ "description": "WebAuthn registration options",
1100
+ "content": {
1101
+ "application/json": {
1102
+ "schema": {
1103
+ "$ref": "#/components/schemas/PasskeyRegistrationOptions"
1104
+ }
1105
+ }
1106
+ }
1107
+ }
1108
+ }
1109
+ }
1110
+ },
1111
+ "/v2/users/me/passkeys:registerComplete": {
1112
+ "post": {
1113
+ "operationId": "completePasskeyRegistration",
1114
+ "summary": "completePasskeyRegistration",
1115
+ "description": "Complete passkey registration by verifying the attestation response.",
1116
+ "tags": [
1117
+ "User V2"
1118
+ ],
1119
+ "requestBody": {
1120
+ "content": {
1121
+ "application/json": {
1122
+ "schema": {
1123
+ "$ref": "#/components/schemas/PasskeyRegistrationResponse"
1124
+ }
1125
+ }
1126
+ }
1127
+ },
1128
+ "responses": {
1129
+ "200": {
1130
+ "description": "Passkey registered successfully",
1131
+ "content": {
1132
+ "application/json": {
1133
+ "schema": {
1134
+ "$ref": "#/components/schemas/Passkey"
1135
+ }
1136
+ }
1137
+ }
1138
+ }
1139
+ }
1140
+ }
1141
+ },
1142
+ "/v2/users/me/passkeys": {
1143
+ "get": {
1144
+ "operationId": "listPasskeys",
1145
+ "summary": "listPasskeys",
1146
+ "description": "List all passkeys registered for the authenticated user.",
1147
+ "tags": [
1148
+ "User V2"
1149
+ ],
1150
+ "responses": {
1151
+ "200": {
1152
+ "description": "List of passkeys",
1153
+ "content": {
1154
+ "application/json": {
1155
+ "schema": {
1156
+ "type": "object",
1157
+ "properties": {
1158
+ "passkeys": {
1159
+ "type": "array",
1160
+ "items": {
1161
+ "$ref": "#/components/schemas/Passkey"
1162
+ }
1163
+ }
1164
+ }
1165
+ }
1166
+ }
1167
+ }
1168
+ }
1169
+ }
1170
+ }
1171
+ },
1172
+ "/v2/users/me/passkeys/{credentialId}": {
1173
+ "delete": {
1174
+ "operationId": "deletePasskey",
1175
+ "summary": "deletePasskey",
1176
+ "description": "Delete a passkey by credential ID.",
1177
+ "tags": [
1178
+ "User V2"
1179
+ ],
1180
+ "parameters": [
1181
+ {
1182
+ "name": "credentialId",
1183
+ "in": "path",
1184
+ "required": true,
1185
+ "schema": {
1186
+ "type": "string"
1187
+ }
1188
+ }
1189
+ ],
1190
+ "responses": {
1191
+ "204": {
1192
+ "description": "Passkey deleted successfully"
1193
+ },
1194
+ "404": {
1195
+ "description": "Passkey not found"
1196
+ }
1197
+ }
1198
+ }
1199
+ },
1200
+ "/v2/users/switchOrganization": {
1201
+ "post": {
1202
+ "operationId": "switchOrganization",
1203
+ "summary": "switchOrganization",
1204
+ "description": "Switch to another organization the user is part of",
1205
+ "tags": [
1206
+ "User V2"
1207
+ ],
1208
+ "requestBody": {
1209
+ "content": {
1210
+ "application/json": {
1211
+ "schema": {
1212
+ "type": "object",
1213
+ "properties": {
1214
+ "org_id": {
1215
+ "$ref": "#/components/schemas/OrganizationId"
1216
+ }
1217
+ },
1218
+ "required": [
1219
+ "org_id"
1220
+ ]
1221
+ }
1222
+ }
1223
+ }
1224
+ },
1225
+ "responses": {
1226
+ "200": {
1227
+ "description": "A login token for the new organization to be used with CUSTOM_AUTH flow",
1228
+ "content": {
1229
+ "application/json": {
1230
+ "schema": {
1231
+ "type": "object",
1232
+ "properties": {
1233
+ "login_token": {
1234
+ "type": "string",
1235
+ "description": "A login token for the new organization to be used with CUSTOM_AUTH flow against login parameters"
1236
+ }
1237
+ },
1238
+ "required": [
1239
+ "login_token"
1240
+ ]
1241
+ }
1242
+ }
1243
+ }
1244
+ }
1245
+ }
1246
+ }
1247
+ },
1248
+ "/v1/users/me": {
1249
+ "get": {
1250
+ "operationId": "getMe",
1251
+ "summary": "getMe",
1252
+ "description": "Get currently logged in user",
1253
+ "tags": [
1254
+ "User V1"
1255
+ ],
1256
+ "responses": {
1257
+ "200": {
1258
+ "description": "Currently logged in user",
1259
+ "content": {
1260
+ "application/json": {
1261
+ "schema": {
1262
+ "$ref": "#/components/schemas/User"
1263
+ }
1264
+ }
1265
+ }
1266
+ }
1267
+ }
1268
+ }
1269
+ },
1270
+ "/v1/users": {
1271
+ "get": {
1272
+ "operationId": "listUsers",
1273
+ "summary": "listUsers",
1274
+ "description": "Lists users in organizations you have access to",
1275
+ "parameters": [
1276
+ {
1277
+ "name": "org_ids",
1278
+ "in": "query",
1279
+ "description": "Comma-separated list of organization ids to filter by",
1280
+ "style": "form",
1281
+ "explode": false,
1282
+ "schema": {
1283
+ "type": "array",
1284
+ "items": {
1285
+ "$ref": "#/components/schemas/OrganizationId"
1286
+ }
1287
+ }
1288
+ },
1289
+ {
1290
+ "name": "query",
1291
+ "in": "query",
1292
+ "description": "Query text to filter by",
1293
+ "required": false,
1294
+ "schema": {
1295
+ "$ref": "#/components/schemas/Query"
1296
+ }
1297
+ },
1298
+ {
1299
+ "name": "limit",
1300
+ "in": "query",
1301
+ "description": "Limit the results size",
1302
+ "required": false,
1303
+ "schema": {
1304
+ "$ref": "#/components/schemas/Limit"
1305
+ }
1306
+ },
1307
+ {
1308
+ "name": "offset",
1309
+ "in": "query",
1310
+ "description": "Specify the offset",
1311
+ "required": false,
1312
+ "schema": {
1313
+ "$ref": "#/components/schemas/Offset"
1314
+ }
1315
+ }
1316
+ ],
1317
+ "tags": [
1318
+ "User V1"
1319
+ ],
1320
+ "responses": {
1321
+ "200": {
1322
+ "description": "List of users",
1323
+ "content": {
1324
+ "application/json": {
1325
+ "schema": {
1326
+ "type": "object",
1327
+ "properties": {
1328
+ "users": {
1329
+ "type": "array",
1330
+ "items": {
1331
+ "$ref": "#/components/schemas/User"
1332
+ }
1333
+ }
1334
+ }
1335
+ }
1336
+ }
1337
+ }
1338
+ }
1339
+ }
1340
+ }
1341
+ },
1342
+ "/v1/users/{id}": {
1343
+ "get": {
1344
+ "operationId": "getUser",
1345
+ "summary": "getUser",
1346
+ "description": "Get user by id",
1347
+ "parameters": [
1348
+ {
1349
+ "name": "id",
1350
+ "in": "path",
1351
+ "description": "User id",
1352
+ "required": true,
1353
+ "schema": {
1354
+ "$ref": "#/components/schemas/UserId"
1355
+ }
1356
+ }
1357
+ ],
1358
+ "tags": [
1359
+ "User V1"
1360
+ ],
1361
+ "responses": {
1362
+ "200": {
1363
+ "description": "User",
1364
+ "content": {
1365
+ "application/json": {
1366
+ "schema": {
1367
+ "$ref": "#/components/schemas/User"
1368
+ }
1369
+ }
1370
+ }
1371
+ }
1372
+ }
1373
+ }
1374
+ },
1375
+ "/v1/users/username/{username}:getLoginParameters": {
1376
+ "get": {
1377
+ "operationId": "getUserLoginParameters",
1378
+ "summary": "getUserLoginParameters",
1379
+ "description": "Get user organization login parameters by username",
1380
+ "security": [],
1381
+ "parameters": [
1382
+ {
1383
+ "name": "username",
1384
+ "in": "path",
1385
+ "description": "Username",
1386
+ "required": true,
1387
+ "schema": {
1388
+ "$ref": "#/components/schemas/Username"
1389
+ }
1390
+ }
1391
+ ],
1392
+ "tags": [
1393
+ "User V1"
1394
+ ],
1395
+ "responses": {
1396
+ "200": {
1397
+ "description": "User",
1398
+ "content": {
1399
+ "application/json": {
1400
+ "schema": {
1401
+ "type": "object",
1402
+ "properties": {
1403
+ "login_parameters": {
1404
+ "type": "array",
1405
+ "items": {
1406
+ "$ref": "#/components/schemas/LoginParameters"
1407
+ }
1408
+ }
1409
+ }
1410
+ }
1411
+ }
1412
+ }
1413
+ }
1414
+ }
1415
+ }
1416
+ }
1417
+ },
1418
+ "components": {
1419
+ "securitySchemes": {
1420
+ "EpilotAuth": {
1421
+ "type": "http",
1422
+ "scheme": "bearer",
1423
+ "description": "Authorization header with epilot OAuth2 bearer token",
1424
+ "bearerFormat": "JWT"
1425
+ }
1426
+ },
1427
+ "schemas": {
1428
+ "NavigationId": {
1429
+ "description": "Navigation unique identifier - a hash of the normalized navigation payload (name + configuration). Identical navigations across orgs will have the same ID.",
1430
+ "type": "string",
1431
+ "example": "5gbe4nkp6jsfq",
1432
+ "nullable": true
1433
+ },
1434
+ "Navigation": {
1435
+ "type": "object",
1436
+ "description": "A customized workplace navigation configuration. The ID is a content-hash, so identical configurations will have the same ID.",
1437
+ "required": [
1438
+ "id",
1439
+ "name",
1440
+ "configuration"
1441
+ ],
1442
+ "properties": {
1443
+ "id": {
1444
+ "$ref": "#/components/schemas/NavigationId"
1445
+ },
1446
+ "name": {
1447
+ "type": "string",
1448
+ "description": "Human-readable name for the navigation configuration",
1449
+ "example": "Sales Team Navigation"
1450
+ },
1451
+ "configuration": {
1452
+ "$ref": "#/components/schemas/NavigationConfiguration"
1453
+ }
1454
+ }
1455
+ },
1456
+ "NavigationCreateRequest": {
1457
+ "type": "object",
1458
+ "description": "Request payload to create a new navigation configuration",
1459
+ "required": [
1460
+ "name",
1461
+ "configuration"
1462
+ ],
1463
+ "properties": {
1464
+ "name": {
1465
+ "type": "string",
1466
+ "description": "Human-readable name for the navigation configuration",
1467
+ "example": "Sales Team Navigation"
1468
+ },
1469
+ "configuration": {
1470
+ "$ref": "#/components/schemas/NavigationConfiguration"
1471
+ }
1472
+ }
1473
+ },
1474
+ "NavigationConfiguration": {
1475
+ "type": "object",
1476
+ "description": "Navigation configuration organized by sections. Each section contains an array of navigation items.\n",
1477
+ "additionalProperties": {
1478
+ "type": "array",
1479
+ "items": {
1480
+ "$ref": "#/components/schemas/NavigationItem"
1481
+ }
1482
+ },
1483
+ "example": {
1484
+ "customer_relations": [
1485
+ {
1486
+ "key": "dashboard"
1487
+ },
1488
+ {
1489
+ "key": "contact"
1490
+ }
1491
+ ],
1492
+ "configurations": [
1493
+ {
1494
+ "name": "Product Catalog",
1495
+ "subItems": [
1496
+ {
1497
+ "key": "product"
1498
+ },
1499
+ {
1500
+ "key": "price"
1501
+ }
1502
+ ]
1503
+ },
1504
+ {
1505
+ "key": "journey"
1506
+ }
1507
+ ]
1508
+ }
1509
+ },
1510
+ "NavigationItem": {
1511
+ "description": "A navigation item - either a simple key item or a group with sub-items",
1512
+ "oneOf": [
1513
+ {
1514
+ "$ref": "#/components/schemas/NavigationKeyItem"
1515
+ },
1516
+ {
1517
+ "$ref": "#/components/schemas/NavigationGroupItem"
1518
+ }
1519
+ ]
1520
+ },
1521
+ "NavigationKeyItem": {
1522
+ "type": "object",
1523
+ "description": "A simple navigation item with a key",
1524
+ "required": [
1525
+ "key"
1526
+ ],
1527
+ "properties": {
1528
+ "key": {
1529
+ "type": "string",
1530
+ "description": "The unique key identifier for the navigation item",
1531
+ "example": "dashboard"
1532
+ }
1533
+ }
1534
+ },
1535
+ "NavigationGroupItem": {
1536
+ "type": "object",
1537
+ "description": "A navigation group containing sub-items",
1538
+ "required": [
1539
+ "name",
1540
+ "subItems"
1541
+ ],
1542
+ "properties": {
1543
+ "name": {
1544
+ "type": "string",
1545
+ "description": "The display name of the navigation group",
1546
+ "example": "Product Catalog"
1547
+ },
1548
+ "subItems": {
1549
+ "type": "array",
1550
+ "description": "The list of navigation items within this group",
1551
+ "items": {
1552
+ "$ref": "#/components/schemas/NavigationKeyItem"
1553
+ }
1554
+ }
1555
+ }
1556
+ },
1557
+ "InviteToken": {
1558
+ "description": "Token used to invite a user to epilot",
1559
+ "type": "string"
1560
+ },
1561
+ "PartnerInvitationToken": {
1562
+ "description": "Token used to invite a partner user to epilot",
1563
+ "type": "string"
1564
+ },
1565
+ "VerificationToken": {
1566
+ "type": "string"
1567
+ },
1568
+ "GroupId": {
1569
+ "description": "Group unique identifier",
1570
+ "type": "string",
1571
+ "readOnly": true
1572
+ },
1573
+ "UserId": {
1574
+ "description": "User's unique identifier",
1575
+ "type": "string",
1576
+ "readOnly": true
1577
+ },
1578
+ "Query": {
1579
+ "type": "string"
1580
+ },
1581
+ "OrganizationId": {
1582
+ "type": "string"
1583
+ },
1584
+ "Limit": {
1585
+ "type": "number"
1586
+ },
1587
+ "Offset": {
1588
+ "type": "number"
1589
+ },
1590
+ "Hydrate": {
1591
+ "type": "boolean"
1592
+ },
1593
+ "Username": {
1594
+ "type": "string"
1595
+ },
1596
+ "UserInvitationPayload": {
1597
+ "type": "object",
1598
+ "properties": {
1599
+ "email": {
1600
+ "type": "string",
1601
+ "description": "Email address of the address",
1602
+ "example": "test@example.com"
1603
+ },
1604
+ "language": {
1605
+ "type": "string",
1606
+ "description": "Language for user invitation email",
1607
+ "enum": [
1608
+ "en",
1609
+ "de"
1610
+ ],
1611
+ "default": "en"
1612
+ },
1613
+ "roles": {
1614
+ "type": "array",
1615
+ "items": {
1616
+ "type": "string",
1617
+ "description": "Role IDs for the user",
1618
+ "example": "123:owner"
1619
+ }
1620
+ }
1621
+ }
1622
+ },
1623
+ "UserActivationPayload": {
1624
+ "type": "object",
1625
+ "properties": {
1626
+ "display_name": {
1627
+ "type": "string",
1628
+ "description": "User's display name (default: email address)",
1629
+ "example": "Example User"
1630
+ },
1631
+ "password": {
1632
+ "type": "string",
1633
+ "description": "User's password",
1634
+ "example": "AKjhdakjsdh@!34"
1635
+ }
1636
+ }
1637
+ },
1638
+ "UserVerificationPayload": {
1639
+ "type": "object",
1640
+ "properties": {
1641
+ "password": {
1642
+ "type": "string",
1643
+ "description": "User's password",
1644
+ "example": "AKjhdakjsdh@!34"
1645
+ }
1646
+ }
1647
+ },
1648
+ "UserV2": {
1649
+ "type": "object",
1650
+ "properties": {
1651
+ "id": {
1652
+ "$ref": "#/components/schemas/UserId"
1653
+ },
1654
+ "organization_id": {
1655
+ "$ref": "#/components/schemas/OrganizationId"
1656
+ },
1657
+ "created_at": {
1658
+ "type": "string",
1659
+ "format": "date-time"
1660
+ },
1661
+ "activated_at": {
1662
+ "type": "string",
1663
+ "format": "date-time"
1664
+ },
1665
+ "display_name": {
1666
+ "type": "string",
1667
+ "description": "User's display name (default: email address)",
1668
+ "example": "Example User"
1669
+ },
1670
+ "status": {
1671
+ "type": "string",
1672
+ "enum": [
1673
+ "Active",
1674
+ "Pending",
1675
+ "Deactivated",
1676
+ "Deleted"
1677
+ ]
1678
+ },
1679
+ "email": {
1680
+ "description": "User's email address",
1681
+ "type": "string",
1682
+ "format": "email"
1683
+ },
1684
+ "draft_email": {
1685
+ "description": "User's pending email address",
1686
+ "type": "string",
1687
+ "nullable": true,
1688
+ "format": "email"
1689
+ },
1690
+ "department": {
1691
+ "type": "string",
1692
+ "description": "User's department",
1693
+ "nullable": true,
1694
+ "example": "Sales"
1695
+ },
1696
+ "phone": {
1697
+ "description": "User's phone number",
1698
+ "type": "string",
1699
+ "nullable": true,
1700
+ "example": 1234567890
1701
+ },
1702
+ "secondary_phone": {
1703
+ "description": "User's secondary phone number, preferred for communication",
1704
+ "type": "string",
1705
+ "nullable": true,
1706
+ "example": 1234567890
1707
+ },
1708
+ "mfa_enabled": {
1709
+ "description": "User's multi-factor authentication status",
1710
+ "type": "boolean",
1711
+ "example": false
1712
+ },
1713
+ "phone_verified": {
1714
+ "description": "User's phone number verification status",
1715
+ "type": "boolean",
1716
+ "example": true
1717
+ },
1718
+ "token": {
1719
+ "$ref": "#/components/schemas/InviteToken"
1720
+ },
1721
+ "signature": {
1722
+ "description": "User's email signature",
1723
+ "type": "string",
1724
+ "example": "<p>Thanks</p>",
1725
+ "nullable": true
1726
+ },
1727
+ "is_signature_enabled": {
1728
+ "description": "Whether the user's signature is enabled",
1729
+ "type": "boolean",
1730
+ "example": true,
1731
+ "nullable": true
1732
+ },
1733
+ "preferred_language": {
1734
+ "description": "User's preferred language",
1735
+ "type": "string",
1736
+ "example": "de"
1737
+ },
1738
+ "custom_start_page": {
1739
+ "description": "User's start page after login",
1740
+ "type": "string",
1741
+ "pattern": "^/app/*",
1742
+ "default": "/app/dashboard",
1743
+ "nullable": true
1744
+ },
1745
+ "custom_navigation": {
1746
+ "$ref": "#/components/schemas/NavigationId"
1747
+ },
1748
+ "override_release_channel": {
1749
+ "description": "This field is used to override the release channel for the user.",
1750
+ "type": "string",
1751
+ "nullable": true,
1752
+ "enum": [
1753
+ "canary",
1754
+ "rc",
1755
+ "stable",
1756
+ null
1757
+ ]
1758
+ },
1759
+ "feature_preferences": {
1760
+ "description": "User's feature preferences",
1761
+ "type": "object",
1762
+ "nullable": true,
1763
+ "additionalProperties": true,
1764
+ "example": {
1765
+ "feature_name": true
1766
+ }
1767
+ },
1768
+ "image_uri": {
1769
+ "type": "object",
1770
+ "description": "User's custom profile image",
1771
+ "additionalProperties": true,
1772
+ "properties": {
1773
+ "original": {
1774
+ "type": "string",
1775
+ "format": "uri"
1776
+ },
1777
+ "thumbnail_32": {
1778
+ "type": "string",
1779
+ "format": "uri"
1780
+ }
1781
+ },
1782
+ "nullable": true,
1783
+ "example": {
1784
+ "original": "https://account-profile-images.epilot.cloud/1/avatar.png",
1785
+ "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
1786
+ }
1787
+ },
1788
+ "favorites": {
1789
+ "type": "object",
1790
+ "additionalProperties": true,
1791
+ "example": {
1792
+ "entity_views": {
1793
+ "opportunity": "891a5409850abf8b92bd2cb7bdd2844d32ce6bec",
1794
+ "order": "628aee91-7c2f-4047-ab0d-433582a19c49"
1795
+ },
1796
+ "dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"
1797
+ }
1798
+ },
1799
+ "email_notification_setting": {
1800
+ "type": "object",
1801
+ "additionalProperties": true,
1802
+ "example": {
1803
+ "added_participant_opportunity": true,
1804
+ "assigned_opportunity": true,
1805
+ "assigned_task": true,
1806
+ "comment_opportunity": true,
1807
+ "deleted_task": true,
1808
+ "escalated_task": true,
1809
+ "message_receive_opportunity": true,
1810
+ "message_send_opportunity": true,
1811
+ "created_task": true,
1812
+ "created_opportunity_manual": true,
1813
+ "created_opportunity_auto": true,
1814
+ "deleted_opportunity": true
1815
+ }
1816
+ },
1817
+ "properties": {
1818
+ "type": "array",
1819
+ "items": {
1820
+ "type": "object",
1821
+ "properties": {
1822
+ "name": {
1823
+ "type": "string",
1824
+ "example": "profileImageName"
1825
+ },
1826
+ "value": {
1827
+ "type": "string",
1828
+ "example": "avatar.png"
1829
+ }
1830
+ },
1831
+ "required": [
1832
+ "name",
1833
+ "value"
1834
+ ]
1835
+ }
1836
+ }
1837
+ }
1838
+ },
1839
+ "User": {
1840
+ "type": "object",
1841
+ "properties": {
1842
+ "id": {
1843
+ "$ref": "#/components/schemas/UserId"
1844
+ },
1845
+ "organization_id": {
1846
+ "$ref": "#/components/schemas/OrganizationId"
1847
+ },
1848
+ "email": {
1849
+ "type": "string",
1850
+ "format": "email"
1851
+ },
1852
+ "display_name": {
1853
+ "type": "string",
1854
+ "example": "Example user",
1855
+ "deprecated": true
1856
+ },
1857
+ "name": {
1858
+ "type": "string",
1859
+ "example": "Example user",
1860
+ "deprecated": true
1861
+ },
1862
+ "preferred_language": {
1863
+ "type": "string",
1864
+ "example": "de"
1865
+ },
1866
+ "signature": {
1867
+ "type": "string",
1868
+ "example": "<p>Thanks</p>"
1869
+ },
1870
+ "custom_navigation": {
1871
+ "$ref": "#/components/schemas/NavigationId"
1872
+ },
1873
+ "roles": {
1874
+ "type": "array",
1875
+ "items": {
1876
+ "type": "string",
1877
+ "example": "Owner"
1878
+ },
1879
+ "deprecated": true,
1880
+ "description": "Deprecated! Please use Permissions API instead"
1881
+ },
1882
+ "image_uri": {
1883
+ "type": "object",
1884
+ "additionalProperties": true,
1885
+ "properties": {
1886
+ "original": {
1887
+ "type": "string",
1888
+ "format": "uri",
1889
+ "example": "https://account-profile-images.epilot.cloud/1/avatar.png"
1890
+ },
1891
+ "thumbnail_32": {
1892
+ "type": "string",
1893
+ "format": "uri",
1894
+ "example": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"
1895
+ }
1896
+ },
1897
+ "nullable": true
1898
+ },
1899
+ "properties": {
1900
+ "type": "array",
1901
+ "items": {
1902
+ "type": "object",
1903
+ "properties": {
1904
+ "name": {
1905
+ "type": "string",
1906
+ "example": "profileImageName"
1907
+ },
1908
+ "value": {
1909
+ "type": "string",
1910
+ "example": "avatar.png"
1911
+ }
1912
+ },
1913
+ "required": [
1914
+ "name",
1915
+ "value"
1916
+ ]
1917
+ }
1918
+ }
1919
+ },
1920
+ "required": [
1921
+ "id",
1922
+ "organization_id",
1923
+ "email",
1924
+ "name",
1925
+ "preferred_language",
1926
+ "roles",
1927
+ "properties"
1928
+ ]
1929
+ },
1930
+ "LoginParameters": {
1931
+ "type": "object",
1932
+ "properties": {
1933
+ "organization_id": {
1934
+ "type": "string",
1935
+ "example": "123"
1936
+ },
1937
+ "organization_name": {
1938
+ "type": "string",
1939
+ "example": "epilot GmbH"
1940
+ },
1941
+ "organization_type": {
1942
+ "type": "string",
1943
+ "example": "Vendor"
1944
+ },
1945
+ "organization_use": {
1946
+ "type": "string",
1947
+ "example": "Production"
1948
+ },
1949
+ "cognito_region": {
1950
+ "type": "string",
1951
+ "example": "eu-central-1"
1952
+ },
1953
+ "cognito_user_pool_id": {
1954
+ "type": "string",
1955
+ "example": "eu-central-sample"
1956
+ },
1957
+ "cognito_user_pool_client_id": {
1958
+ "type": "string",
1959
+ "example": "asbkh213ehkquwhdi"
1960
+ },
1961
+ "cognito_oauth_domain": {
1962
+ "type": "string",
1963
+ "example": "epilot-org-123"
1964
+ },
1965
+ "cognito_oauth_scopes": {
1966
+ "type": "array",
1967
+ "items": {
1968
+ "type": "string"
1969
+ },
1970
+ "example": [
1971
+ "openid"
1972
+ ]
1973
+ },
1974
+ "oauth_response_type": {
1975
+ "type": "string",
1976
+ "enum": [
1977
+ "code",
1978
+ "token"
1979
+ ]
1980
+ },
1981
+ "passkey_enabled": {
1982
+ "type": "boolean",
1983
+ "description": "Whether passkey login is enabled for this organization"
1984
+ }
1985
+ }
1986
+ },
1987
+ "CreateGroupReq": {
1988
+ "type": "object",
1989
+ "properties": {
1990
+ "name": {
1991
+ "description": "The name of the group. Could be a department or a team.",
1992
+ "type": "string",
1993
+ "example": "Finance"
1994
+ },
1995
+ "user_ids": {
1996
+ "description": "The list of user ids in the group.",
1997
+ "type": "array",
1998
+ "items": {
1999
+ "$ref": "#/components/schemas/UserId"
2000
+ },
2001
+ "example": [
2002
+ "123",
2003
+ "456"
2004
+ ]
2005
+ }
2006
+ },
2007
+ "required": [
2008
+ "name"
2009
+ ]
2010
+ },
2011
+ "UpdateGroupReq": {
2012
+ "type": "object",
2013
+ "properties": {
2014
+ "name": {
2015
+ "description": "The name of the group. Could be a department or a team.",
2016
+ "type": "string",
2017
+ "example": "Finance"
2018
+ },
2019
+ "user_ids": {
2020
+ "description": "The list of user ids in the group.",
2021
+ "type": "array",
2022
+ "items": {
2023
+ "$ref": "#/components/schemas/UserId"
2024
+ },
2025
+ "example": [
2026
+ "123",
2027
+ "456"
2028
+ ]
2029
+ }
2030
+ }
2031
+ },
2032
+ "Group": {
2033
+ "type": "object",
2034
+ "properties": {
2035
+ "id": {
2036
+ "$ref": "#/components/schemas/GroupId"
2037
+ },
2038
+ "org_id": {
2039
+ "$ref": "#/components/schemas/OrganizationId"
2040
+ },
2041
+ "name": {
2042
+ "description": "The name of the group. Could be a department or a team.",
2043
+ "type": "string",
2044
+ "example": "Finance"
2045
+ },
2046
+ "created_at": {
2047
+ "type": "string",
2048
+ "example": "2024-02-08T04:44:32.246Z"
2049
+ },
2050
+ "updated_at": {
2051
+ "type": "string",
2052
+ "example": "2024-02-08T04:44:32.246Z"
2053
+ },
2054
+ "created_by": {
2055
+ "description": "The user id of the user that created the group.",
2056
+ "type": "string",
2057
+ "example": "123"
2058
+ },
2059
+ "crt_assignee": {
2060
+ "description": "The current user assignee of the group. This is the user, from within the group, that has last been assigned to a workflow task.",
2061
+ "allOf": [
2062
+ {
2063
+ "$ref": "#/components/schemas/UserV2"
2064
+ },
2065
+ {
2066
+ "type": "object",
2067
+ "properties": {
2068
+ "crt_index": {
2069
+ "description": "The index of the current assignee in the group's user list.",
2070
+ "type": "number",
2071
+ "example": 3
2072
+ }
2073
+ }
2074
+ }
2075
+ ]
2076
+ },
2077
+ "users": {
2078
+ "description": "The list of users in the group. Only contains the full user when respective endpoint is called with a flag. Otherwise only contains the user id.",
2079
+ "type": "array",
2080
+ "items": {
2081
+ "$ref": "#/components/schemas/UserV2"
2082
+ }
2083
+ }
2084
+ },
2085
+ "required": [
2086
+ "id",
2087
+ "org_id",
2088
+ "name",
2089
+ "created_at",
2090
+ "updated_at"
2091
+ ]
2092
+ },
2093
+ "SignupUserPayload": {
2094
+ "type": "object",
2095
+ "properties": {
2096
+ "organization_detail": {
2097
+ "$ref": "#/components/schemas/OrganizationDetail"
2098
+ },
2099
+ "user_detail": {
2100
+ "$ref": "#/components/schemas/UserDetail"
2101
+ },
2102
+ "language": {
2103
+ "type": "string",
2104
+ "description": "Language for user invitation email",
2105
+ "enum": [
2106
+ "en",
2107
+ "de"
2108
+ ],
2109
+ "default": "en"
2110
+ }
2111
+ }
2112
+ },
2113
+ "OrganizationDetail": {
2114
+ "additionalProperties": true,
2115
+ "type": "object",
2116
+ "properties": {
2117
+ "type": {
2118
+ "type": "string",
2119
+ "enum": [
2120
+ "Vendor",
2121
+ "Partner"
2122
+ ]
2123
+ },
2124
+ "name": {
2125
+ "type": "string",
2126
+ "example": "Epilot"
2127
+ },
2128
+ "pricing_tier": {
2129
+ "type": "string",
2130
+ "example": "professional"
2131
+ },
2132
+ "email": {
2133
+ "type": "string"
2134
+ },
2135
+ "phone": {
2136
+ "type": "string"
2137
+ },
2138
+ "website": {
2139
+ "type": "string"
2140
+ },
2141
+ "is_privacy_policy_checked": {
2142
+ "type": "boolean",
2143
+ "example": false,
2144
+ "nullable": true
2145
+ },
2146
+ "is_terms_and_conditions_checked": {
2147
+ "type": "boolean",
2148
+ "example": false,
2149
+ "nullable": true
2150
+ }
2151
+ },
2152
+ "required": [
2153
+ "type",
2154
+ "name",
2155
+ "pricing_tier",
2156
+ "email"
2157
+ ]
2158
+ },
2159
+ "CognitoDetails": {
2160
+ "type": "object",
2161
+ "properties": {
2162
+ "cognito_region": {
2163
+ "type": "string",
2164
+ "example": "eu-central-1"
2165
+ },
2166
+ "cognito_user_pool_id": {
2167
+ "type": "string",
2168
+ "example": "eu-central-sample"
2169
+ },
2170
+ "cognito_user_pool_client_id": {
2171
+ "type": "string",
2172
+ "example": "asbkh213ehkquwhdi"
2173
+ },
2174
+ "cognito_user_pool_arn": {
2175
+ "type": "string",
2176
+ "example": "arn:aws:cognito-idp:eu-central-1:123456789012:userpool/eu-central-sample"
2177
+ }
2178
+ }
2179
+ },
2180
+ "UserDetail": {
2181
+ "type": "object",
2182
+ "properties": {
2183
+ "full_name": {
2184
+ "type": "string",
2185
+ "example": "Example user"
2186
+ },
2187
+ "email": {
2188
+ "type": "string",
2189
+ "format": "email"
2190
+ },
2191
+ "password": {
2192
+ "type": "string",
2193
+ "description": "User's password",
2194
+ "example": "AKjhdakjsdh@!34"
2195
+ }
2196
+ },
2197
+ "required": [
2198
+ "full_name",
2199
+ "email",
2200
+ "password"
2201
+ ]
2202
+ },
2203
+ "Organization": {
2204
+ "type": "object",
2205
+ "properties": {
2206
+ "id": {
2207
+ "$ref": "#/components/schemas/OrganizationId"
2208
+ },
2209
+ "type": {
2210
+ "type": "string",
2211
+ "enum": [
2212
+ "Vendor",
2213
+ "Partner"
2214
+ ],
2215
+ "nullable": true
2216
+ },
2217
+ "name": {
2218
+ "type": "string",
2219
+ "example": "Epilot",
2220
+ "nullable": true
2221
+ },
2222
+ "signature": {
2223
+ "type": "string",
2224
+ "example": "<p>Thanks</p>",
2225
+ "nullable": true
2226
+ },
2227
+ "symbol": {
2228
+ "type": "string",
2229
+ "example": "EPI",
2230
+ "nullable": true
2231
+ },
2232
+ "pricing_tier": {
2233
+ "type": "string",
2234
+ "example": "professional",
2235
+ "nullable": true
2236
+ },
2237
+ "email": {
2238
+ "type": "string",
2239
+ "example": "someone@epilot.cloud",
2240
+ "nullable": true
2241
+ },
2242
+ "phone": {
2243
+ "type": "string",
2244
+ "example": 49123123123,
2245
+ "nullable": true
2246
+ },
2247
+ "website": {
2248
+ "type": "string",
2249
+ "example": "https://epilot.cloud",
2250
+ "nullable": true
2251
+ },
2252
+ "address": {
2253
+ "type": "object",
2254
+ "properties": {
2255
+ "country": {
2256
+ "type": "string",
2257
+ "nullable": true
2258
+ },
2259
+ "city": {
2260
+ "type": "string",
2261
+ "nullable": true
2262
+ },
2263
+ "postal_code": {
2264
+ "type": "string",
2265
+ "nullable": true
2266
+ },
2267
+ "street": {
2268
+ "type": "string",
2269
+ "nullable": true
2270
+ },
2271
+ "street_number": {
2272
+ "type": "string",
2273
+ "nullable": true
2274
+ }
2275
+ }
2276
+ },
2277
+ "logo_url": {
2278
+ "type": "string",
2279
+ "example": "https://epilot-playground-organization-data.s3.eu-central-1.amazonaws.com/epilot-logo.png",
2280
+ "nullable": true
2281
+ },
2282
+ "logo_thumbnail_url": {
2283
+ "type": "string",
2284
+ "example": "https://epilot-playground-organization-data.s3.eu-central-1.amazonaws.com/epilot-logo.png",
2285
+ "nullable": true
2286
+ },
2287
+ "is_unlicensed_org": {
2288
+ "type": "boolean",
2289
+ "example": false,
2290
+ "nullable": true
2291
+ },
2292
+ "cognito_details": {
2293
+ "$ref": "#/components/schemas/CognitoDetails"
2294
+ }
2295
+ }
2296
+ },
2297
+ "DataPointsResponse": {
2298
+ "type": "array",
2299
+ "items": {
2300
+ "$ref": "#/components/schemas/DataPoint"
2301
+ }
2302
+ },
2303
+ "DataPoint": {
2304
+ "type": "object",
2305
+ "properties": {
2306
+ "id": {
2307
+ "description": "Organization id",
2308
+ "type": "number",
2309
+ "example": 206801
2310
+ },
2311
+ "actual_users": {
2312
+ "description": "Number of current user",
2313
+ "type": "number",
2314
+ "example": 10
2315
+ },
2316
+ "max_users_last_month": {
2317
+ "description": "Max user last month",
2318
+ "type": "number",
2319
+ "example": 10
2320
+ },
2321
+ "non_billable_users_last_month": {
2322
+ "description": "Max non-billable user last month",
2323
+ "type": "number",
2324
+ "example": 10
2325
+ }
2326
+ }
2327
+ },
2328
+ "Passkey": {
2329
+ "type": "object",
2330
+ "properties": {
2331
+ "credential_id": {
2332
+ "type": "string",
2333
+ "description": "Base64url-encoded credential ID"
2334
+ },
2335
+ "friendly_name": {
2336
+ "type": "string",
2337
+ "example": "My Laptop"
2338
+ },
2339
+ "created_at": {
2340
+ "type": "string",
2341
+ "format": "date-time"
2342
+ },
2343
+ "transports": {
2344
+ "type": "array",
2345
+ "items": {
2346
+ "type": "string"
2347
+ }
2348
+ },
2349
+ "aaguid": {
2350
+ "type": "string"
2351
+ }
2352
+ }
2353
+ },
2354
+ "PasskeyAuthenticationOptions": {
2355
+ "type": "object",
2356
+ "properties": {
2357
+ "options": {
2358
+ "type": "object",
2359
+ "description": "WebAuthn PublicKeyCredentialRequestOptions"
2360
+ },
2361
+ "challenge_token": {
2362
+ "type": "string",
2363
+ "description": "Signed JWT containing the challenge"
2364
+ }
2365
+ }
2366
+ },
2367
+ "PasskeyRegistrationOptions": {
2368
+ "type": "object",
2369
+ "properties": {
2370
+ "options": {
2371
+ "type": "object",
2372
+ "description": "WebAuthn PublicKeyCredentialCreationOptions"
2373
+ },
2374
+ "challenge_token": {
2375
+ "type": "string",
2376
+ "description": "Signed JWT containing the challenge"
2377
+ }
2378
+ }
2379
+ },
2380
+ "PasskeyRegistrationResponse": {
2381
+ "type": "object",
2382
+ "properties": {
2383
+ "challenge_token": {
2384
+ "type": "string",
2385
+ "description": "The challenge token from registerBegin"
2386
+ },
2387
+ "registration_response": {
2388
+ "type": "object",
2389
+ "description": "WebAuthn AuthenticatorAttestationResponse"
2390
+ },
2391
+ "friendly_name": {
2392
+ "type": "string",
2393
+ "example": "My Laptop"
2394
+ }
2395
+ },
2396
+ "required": [
2397
+ "challenge_token",
2398
+ "registration_response"
2399
+ ]
2400
+ }
2401
+ }
2402
+ },
2403
+ "servers": [
2404
+ {
2405
+ "url": "https://user.sls.epilot.io"
2406
+ }
2407
+ ]
2408
+ }