@epilot/sdk 2.3.0 → 2.3.1

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 (210) 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 +4493 -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 +5028 -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 +4619 -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 +15676 -0
  23. package/definitions/dashboard-runtime.json +1 -0
  24. package/definitions/dashboard.json +484 -0
  25. package/definitions/data-governance-runtime.json +1 -0
  26. package/definitions/data-governance.json +1126 -0
  27. package/definitions/deduplication-runtime.json +1 -0
  28. package/definitions/deduplication.json +314 -0
  29. package/definitions/design-runtime.json +1 -0
  30. package/definitions/design.json +1469 -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 +2777 -0
  35. package/definitions/email-template-runtime.json +1 -0
  36. package/definitions/email-template.json +1441 -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 +10474 -0
  41. package/definitions/environments-runtime.json +1 -0
  42. package/definitions/environments.json +363 -0
  43. package/definitions/event-catalog-runtime.json +1 -0
  44. package/definitions/event-catalog.json +1051 -0
  45. package/definitions/file-runtime.json +1 -0
  46. package/definitions/file.json +2842 -0
  47. package/definitions/iban-runtime.json +1 -0
  48. package/definitions/iban.json +132 -0
  49. package/definitions/integration-toolkit-runtime.json +1 -0
  50. package/definitions/integration-toolkit.json +7998 -0
  51. package/definitions/journey-runtime.json +1 -0
  52. package/definitions/journey.json +2603 -0
  53. package/definitions/kanban-runtime.json +1 -0
  54. package/definitions/kanban.json +1505 -0
  55. package/definitions/message-runtime.json +1 -0
  56. package/definitions/message.json +2862 -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 +1192 -0
  65. package/definitions/partner-directory-runtime.json +1 -0
  66. package/definitions/partner-directory.json +2284 -0
  67. package/definitions/permissions-runtime.json +1 -0
  68. package/definitions/permissions.json +1515 -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/sharing-runtime.json +1 -0
  78. package/definitions/sharing.json +956 -0
  79. package/definitions/submission-runtime.json +1 -0
  80. package/definitions/submission.json +313 -0
  81. package/definitions/targeting-runtime.json +1 -0
  82. package/definitions/targeting.json +1474 -0
  83. package/definitions/template-variables-runtime.json +1 -0
  84. package/definitions/template-variables.json +1416 -0
  85. package/definitions/user-runtime.json +1 -0
  86. package/definitions/user.json +2460 -0
  87. package/definitions/validation-rules-runtime.json +1 -0
  88. package/definitions/validation-rules.json +1491 -0
  89. package/definitions/webhooks-runtime.json +1 -0
  90. package/definitions/webhooks.json +1634 -0
  91. package/definitions/workflow-definition-runtime.json +1 -0
  92. package/definitions/workflow-definition.json +3302 -0
  93. package/definitions/workflow-runtime.json +1 -0
  94. package/definitions/workflow.json +4248 -0
  95. package/dist/README-KX4XC2HB.js +7 -0
  96. package/dist/README-PTYV6PQI.cjs +7 -0
  97. package/dist/apis/access-token.cjs +6 -6
  98. package/dist/apis/access-token.js +1 -1
  99. package/dist/apis/address-suggestions.cjs +6 -6
  100. package/dist/apis/address-suggestions.js +1 -1
  101. package/dist/apis/address.cjs +6 -6
  102. package/dist/apis/address.js +1 -1
  103. package/dist/apis/ai-agents.cjs +6 -6
  104. package/dist/apis/ai-agents.js +1 -1
  105. package/dist/apis/app.cjs +6 -6
  106. package/dist/apis/app.js +1 -1
  107. package/dist/apis/audit-logs.cjs +6 -6
  108. package/dist/apis/audit-logs.js +1 -1
  109. package/dist/apis/automation.cjs +6 -6
  110. package/dist/apis/automation.js +1 -1
  111. package/dist/apis/billing.cjs +6 -6
  112. package/dist/apis/billing.js +1 -1
  113. package/dist/apis/blueprint-manifest.cjs +6 -6
  114. package/dist/apis/blueprint-manifest.js +1 -1
  115. package/dist/apis/consent.cjs +6 -6
  116. package/dist/apis/consent.js +1 -1
  117. package/dist/apis/customer-portal.cjs +6 -6
  118. package/dist/apis/customer-portal.js +1 -1
  119. package/dist/apis/dashboard.cjs +6 -6
  120. package/dist/apis/dashboard.js +1 -1
  121. package/dist/apis/data-governance.cjs +6 -6
  122. package/dist/apis/data-governance.js +1 -1
  123. package/dist/apis/deduplication.cjs +6 -6
  124. package/dist/apis/deduplication.js +1 -1
  125. package/dist/apis/design.cjs +6 -6
  126. package/dist/apis/design.js +1 -1
  127. package/dist/apis/document.cjs +6 -6
  128. package/dist/apis/document.js +1 -1
  129. package/dist/apis/email-settings.cjs +6 -6
  130. package/dist/apis/email-settings.js +1 -1
  131. package/dist/apis/email-template.cjs +6 -6
  132. package/dist/apis/email-template.js +1 -1
  133. package/dist/apis/entity-mapping.cjs +6 -6
  134. package/dist/apis/entity-mapping.js +1 -1
  135. package/dist/apis/entity.cjs +6 -6
  136. package/dist/apis/entity.js +1 -1
  137. package/dist/apis/environments.cjs +6 -6
  138. package/dist/apis/environments.js +1 -1
  139. package/dist/apis/erp-integration.cjs +6 -6
  140. package/dist/apis/erp-integration.js +1 -1
  141. package/dist/apis/event-catalog.cjs +6 -6
  142. package/dist/apis/event-catalog.js +1 -1
  143. package/dist/apis/file.cjs +6 -6
  144. package/dist/apis/file.js +1 -1
  145. package/dist/apis/iban.cjs +6 -6
  146. package/dist/apis/iban.js +1 -1
  147. package/dist/apis/integration-toolkit.cjs +6 -6
  148. package/dist/apis/integration-toolkit.js +1 -1
  149. package/dist/apis/journey.cjs +6 -6
  150. package/dist/apis/journey.js +1 -1
  151. package/dist/apis/kanban.cjs +6 -6
  152. package/dist/apis/kanban.js +1 -1
  153. package/dist/apis/message.cjs +6 -6
  154. package/dist/apis/message.js +1 -1
  155. package/dist/apis/metering.cjs +6 -6
  156. package/dist/apis/metering.js +1 -1
  157. package/dist/apis/notes.cjs +6 -6
  158. package/dist/apis/notes.js +1 -1
  159. package/dist/apis/notification.cjs +6 -6
  160. package/dist/apis/notification.js +1 -1
  161. package/dist/apis/organization.cjs +6 -6
  162. package/dist/apis/organization.js +1 -1
  163. package/dist/apis/partner-directory.cjs +6 -6
  164. package/dist/apis/partner-directory.js +1 -1
  165. package/dist/apis/permissions.cjs +6 -6
  166. package/dist/apis/permissions.js +1 -1
  167. package/dist/apis/pricing-tier.cjs +6 -6
  168. package/dist/apis/pricing-tier.js +1 -1
  169. package/dist/apis/pricing.cjs +6 -6
  170. package/dist/apis/pricing.js +1 -1
  171. package/dist/apis/purpose.cjs +6 -6
  172. package/dist/apis/purpose.js +1 -1
  173. package/dist/apis/sandbox.cjs +6 -6
  174. package/dist/apis/sandbox.js +1 -1
  175. package/dist/apis/sharing.cjs +6 -6
  176. package/dist/apis/sharing.js +1 -1
  177. package/dist/apis/submission.cjs +6 -6
  178. package/dist/apis/submission.js +1 -1
  179. package/dist/apis/targeting.cjs +6 -6
  180. package/dist/apis/targeting.js +1 -1
  181. package/dist/apis/template-variables.cjs +6 -6
  182. package/dist/apis/template-variables.js +1 -1
  183. package/dist/apis/user.cjs +6 -6
  184. package/dist/apis/user.d.cts +2 -2
  185. package/dist/apis/user.d.ts +2 -2
  186. package/dist/apis/user.js +1 -1
  187. package/dist/apis/validation-rules.cjs +6 -6
  188. package/dist/apis/validation-rules.js +1 -1
  189. package/dist/apis/webhooks.cjs +6 -6
  190. package/dist/apis/webhooks.js +1 -1
  191. package/dist/apis/workflow-definition.cjs +6 -6
  192. package/dist/apis/workflow-definition.js +1 -1
  193. package/dist/apis/workflow.cjs +6 -6
  194. package/dist/apis/workflow.js +1 -1
  195. package/dist/{chunk-6AO46HG5.js → chunk-QSEIJWJW.js} +2 -2
  196. package/dist/{chunk-MHXQX7FS.cjs → chunk-TKTSGA7G.cjs} +2 -2
  197. package/dist/index.cjs +8 -8
  198. package/dist/index.d.cts +1 -1
  199. package/dist/index.d.ts +1 -1
  200. package/dist/index.js +1 -1
  201. package/dist/user-7ZN2XO7G.cjs +7 -0
  202. package/dist/user-ZK7BK6VY.js +7 -0
  203. package/dist/{user.d-CXqM751M.d.cts → user.d-D18fe97W.d.cts} +75 -3
  204. package/dist/{user.d-CXqM751M.d.ts → user.d-D18fe97W.d.ts} +75 -3
  205. package/docs/user.md +62 -8
  206. package/package.json +1 -1
  207. package/dist/README-7R2JR652.js +0 -7
  208. package/dist/README-Z5AKTGJA.cjs +0 -7
  209. package/dist/user-EIEOI3OG.js +0 -7
  210. package/dist/user-NJJ7XVKB.cjs +0 -7
@@ -1,8 +1,6 @@
1
1
  import { OpenAPIClient, Parameters, AxiosRequestConfig, OperationResponse, UnknownParamsObject } from 'openapi-client-axios';
2
2
 
3
3
  /* Auto-copied from user-client */
4
- /* eslint-disable */
5
-
6
4
 
7
5
 
8
6
  declare namespace Components {
@@ -45,6 +43,17 @@ declare namespace Components {
45
43
  * ]
46
44
  */
47
45
  user_ids?: /* User's unique identifier */ UserId[];
46
+ image_uri?: /**
47
+ * Group's profile image or gradient colors. Supports uploaded image URLs and generated gradient avatars.
48
+ * example:
49
+ * {
50
+ * "gradient_colors": [
51
+ * "#0588f0",
52
+ * "#3358d4"
53
+ * ]
54
+ * }
55
+ */
56
+ GroupImageUri;
48
57
  }
49
58
  export interface DataPoint {
50
59
  /**
@@ -263,11 +272,62 @@ declare namespace Components {
263
272
  * 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.
264
273
  */
265
274
  users?: UserV2[];
275
+ image_uri?: /**
276
+ * Group's profile image or gradient colors. Supports uploaded image URLs and generated gradient avatars.
277
+ * example:
278
+ * {
279
+ * "gradient_colors": [
280
+ * "#0588f0",
281
+ * "#3358d4"
282
+ * ]
283
+ * }
284
+ */
285
+ GroupImageUri;
266
286
  }
267
287
  /**
268
288
  * Group unique identifier
269
289
  */
270
290
  export type GroupId = string;
291
+ /**
292
+ * Group's profile image or gradient colors. Supports uploaded image URLs and generated gradient avatars.
293
+ * example:
294
+ * {
295
+ * "gradient_colors": [
296
+ * "#0588f0",
297
+ * "#3358d4"
298
+ * ]
299
+ * }
300
+ */
301
+ export type GroupImageUri = {
302
+ [name: string]: any;
303
+ /**
304
+ * example:
305
+ * https://account-profile-images.epilot.cloud/org/group-avatar.png
306
+ */
307
+ original?: string; // uri
308
+ /**
309
+ * example:
310
+ * https://account-profile-images.epilot.cloud/org/group-avatar_32x32.png
311
+ */
312
+ thumbnail_32?: string; // uri
313
+ /**
314
+ * example:
315
+ * https://account-profile-images.epilot.cloud/org/group-avatar_64x64.png
316
+ */
317
+ thumbnail_64?: string; // uri
318
+ /**
319
+ * Two hex color strings [base_color, accent_color] for mesh gradient avatar.
320
+ * example:
321
+ * [
322
+ * "#0588f0",
323
+ * "#3358d4"
324
+ * ]
325
+ */
326
+ gradient_colors?: [
327
+ string,
328
+ string
329
+ ];
330
+ } | null;
271
331
  export type Hydrate = boolean;
272
332
  /**
273
333
  * Token used to invite a user to epilot
@@ -665,6 +725,17 @@ declare namespace Components {
665
725
  * ]
666
726
  */
667
727
  user_ids?: /* User's unique identifier */ UserId[];
728
+ image_uri?: /**
729
+ * Group's profile image or gradient colors. Supports uploaded image URLs and generated gradient avatars.
730
+ * example:
731
+ * {
732
+ * "gradient_colors": [
733
+ * "#0588f0",
734
+ * "#3358d4"
735
+ * ]
736
+ * }
737
+ */
738
+ GroupImageUri;
668
739
  }
669
740
  export interface User {
670
741
  id: /* User's unique identifier */ UserId;
@@ -2162,6 +2233,7 @@ type DataPoint = Components.Schemas.DataPoint;
2162
2233
  type DataPointsResponse = Components.Schemas.DataPointsResponse;
2163
2234
  type Group = Components.Schemas.Group;
2164
2235
  type GroupId = Components.Schemas.GroupId;
2236
+ type GroupImageUri = Components.Schemas.GroupImageUri;
2165
2237
  type Hydrate = Components.Schemas.Hydrate;
2166
2238
  type InviteToken = Components.Schemas.InviteToken;
2167
2239
  type Limit = Components.Schemas.Limit;
@@ -2195,4 +2267,4 @@ type UserVerificationPayload = Components.Schemas.UserVerificationPayload;
2195
2267
  type Username = Components.Schemas.Username;
2196
2268
  type VerificationToken = Components.Schemas.VerificationToken;
2197
2269
 
2198
- export { type UserInvitationPayload as A, type UserV2 as B, type Client as C, type DataPoint as D, type UserVerificationPayload as E, type Username as F, type Group as G, type Hydrate as H, type InviteToken as I, type Limit as L, type Navigation as N, type OperationMethods as O, Paths as P, type Query as Q, type SignupUserPayload as S, type UpdateGroupReq as U, type VerificationToken as V, Components as a, type PathsDictionary as b, type CognitoDetails as c, type CreateGroupReq as d, type DataPointsResponse as e, type GroupId as f, type LoginParameters as g, type NavigationConfiguration as h, type NavigationCreateRequest as i, type NavigationGroupItem as j, type NavigationId as k, type NavigationItem as l, type NavigationKeyItem as m, type Offset as n, type Organization as o, type OrganizationDetail as p, type OrganizationId as q, type PartnerInvitationToken as r, type Passkey as s, type PasskeyAuthenticationOptions as t, type PasskeyRegistrationOptions as u, type PasskeyRegistrationResponse as v, type User as w, type UserActivationPayload as x, type UserDetail as y, type UserId as z };
2270
+ export { type UserId as A, type UserInvitationPayload as B, type Client as C, type DataPoint as D, type UserV2 as E, type UserVerificationPayload as F, type Group as G, type Hydrate as H, type InviteToken as I, type Username as J, type Limit as L, type Navigation as N, type OperationMethods as O, Paths as P, type Query as Q, type SignupUserPayload as S, type UpdateGroupReq as U, type VerificationToken as V, Components as a, type PathsDictionary as b, type CognitoDetails as c, type CreateGroupReq as d, type DataPointsResponse as e, type GroupId as f, type GroupImageUri as g, type LoginParameters as h, type NavigationConfiguration as i, type NavigationCreateRequest as j, type NavigationGroupItem as k, type NavigationId as l, type NavigationItem as m, type NavigationKeyItem as n, type Offset as o, type Organization as p, type OrganizationDetail as q, type OrganizationId as r, type PartnerInvitationToken as s, type Passkey as t, type PasskeyAuthenticationOptions as u, type PasskeyRegistrationOptions as v, type PasskeyRegistrationResponse as w, type User as x, type UserActivationPayload as y, type UserDetail as z };
package/docs/user.md CHANGED
@@ -91,6 +91,7 @@ const { data } = await userClient.signUpUser(...)
91
91
  - [`UserV2`](#userv2)
92
92
  - [`User`](#user)
93
93
  - [`LoginParameters`](#loginparameters)
94
+ - [`GroupImageUri`](#groupimageuri)
94
95
  - [`CreateGroupReq`](#creategroupreq)
95
96
  - [`UpdateGroupReq`](#updategroupreq)
96
97
  - [`Group`](#group)
@@ -832,7 +833,10 @@ const { data } = await client.getGroupsForUser({
832
833
  },
833
834
  "users": [
834
835
  {}
835
- ]
836
+ ],
837
+ "image_uri": {
838
+ "gradient_colors": ["#0588f0", "#3358d4"]
839
+ }
836
840
  }
837
841
  ]
838
842
  ```
@@ -871,7 +875,8 @@ const { data } = await client.getGroups({
871
875
  "updated_at": "2024-02-08T04:44:32.246Z",
872
876
  "created_by": "123",
873
877
  "crt_assignee": {},
874
- "users": []
878
+ "users": [],
879
+ "image_uri": {}
875
880
  }
876
881
  ]
877
882
  }
@@ -892,7 +897,10 @@ const { data } = await client.createGroup(
892
897
  null,
893
898
  {
894
899
  name: 'Finance',
895
- user_ids: ['123', '456']
900
+ user_ids: ['123', '456'],
901
+ image_uri: {
902
+ gradient_colors: ['#0588f0', '#3358d4']
903
+ }
896
904
  },
897
905
  )
898
906
  ```
@@ -987,7 +995,10 @@ const { data } = await client.createGroup(
987
995
  "email_notification_setting": {},
988
996
  "properties": []
989
997
  }
990
- ]
998
+ ],
999
+ "image_uri": {
1000
+ "gradient_colors": ["#0588f0", "#3358d4"]
1001
+ }
991
1002
  }
992
1003
  ```
993
1004
 
@@ -1098,7 +1109,10 @@ const { data } = await client.getGroup({
1098
1109
  "email_notification_setting": {},
1099
1110
  "properties": []
1100
1111
  }
1101
- ]
1112
+ ],
1113
+ "image_uri": {
1114
+ "gradient_colors": ["#0588f0", "#3358d4"]
1115
+ }
1102
1116
  }
1103
1117
  ```
1104
1118
 
@@ -1119,7 +1133,10 @@ const { data } = await client.updateGroup(
1119
1133
  },
1120
1134
  {
1121
1135
  name: 'Finance',
1122
- user_ids: ['123', '456']
1136
+ user_ids: ['123', '456'],
1137
+ image_uri: {
1138
+ gradient_colors: ['#0588f0', '#3358d4']
1139
+ }
1123
1140
  },
1124
1141
  )
1125
1142
  ```
@@ -1214,7 +1231,10 @@ const { data } = await client.updateGroup(
1214
1231
  "email_notification_setting": {},
1215
1232
  "properties": []
1216
1233
  }
1217
- ]
1234
+ ],
1235
+ "image_uri": {
1236
+ "gradient_colors": ["#0588f0", "#3358d4"]
1237
+ }
1218
1238
  }
1219
1239
  ```
1220
1240
 
@@ -1338,7 +1358,10 @@ const { data } = await client.advanceUserAssignment({
1338
1358
  "email_notification_setting": {},
1339
1359
  "properties": []
1340
1360
  }
1341
- ]
1361
+ ],
1362
+ "image_uri": {
1363
+ "gradient_colors": ["#0588f0", "#3358d4"]
1364
+ }
1342
1365
  }
1343
1366
  ```
1344
1367
 
@@ -2303,12 +2326,31 @@ type LoginParameters = {
2303
2326
  }
2304
2327
  ```
2305
2328
 
2329
+ ### `GroupImageUri`
2330
+
2331
+ Group's profile image or gradient colors. Supports uploaded image URLs and generated gradient avatars.
2332
+
2333
+ ```ts
2334
+ type GroupImageUri = {
2335
+ original?: string // uri
2336
+ thumbnail_32?: string // uri
2337
+ thumbnail_64?: string // uri
2338
+ gradient_colors?: string[]
2339
+ }
2340
+ ```
2341
+
2306
2342
  ### `CreateGroupReq`
2307
2343
 
2308
2344
  ```ts
2309
2345
  type CreateGroupReq = {
2310
2346
  name: string
2311
2347
  user_ids?: string[]
2348
+ image_uri?: {
2349
+ original?: string // uri
2350
+ thumbnail_32?: string // uri
2351
+ thumbnail_64?: string // uri
2352
+ gradient_colors?: string[]
2353
+ }
2312
2354
  }
2313
2355
  ```
2314
2356
 
@@ -2318,6 +2360,12 @@ type CreateGroupReq = {
2318
2360
  type UpdateGroupReq = {
2319
2361
  name?: string
2320
2362
  user_ids?: string[]
2363
+ image_uri?: {
2364
+ original?: string // uri
2365
+ thumbnail_32?: string // uri
2366
+ thumbnail_64?: string // uri
2367
+ gradient_colors?: string[]
2368
+ }
2321
2369
  }
2322
2370
  ```
2323
2371
 
@@ -2398,6 +2446,12 @@ type Group = {
2398
2446
  value: { ... }
2399
2447
  }>
2400
2448
  }>
2449
+ image_uri?: {
2450
+ original?: string // uri
2451
+ thumbnail_32?: string // uri
2452
+ thumbnail_64?: string // uri
2453
+ gradient_colors?: string[]
2454
+ }
2401
2455
  }
2402
2456
  ```
2403
2457
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/sdk",
3
- "version": "2.3.0",
3
+ "version": "2.3.1",
4
4
  "description": "JavaScript/TypeScript SDK for epilot APIs",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -1,7 +0,0 @@
1
- import "./chunk-YPSWSI3M.js";
2
-
3
- // src/docs/README.json
4
- var README_default = "<h1 align=\"center\"><img alt=\"epilot\" src=\"https://raw.githubusercontent.com/epilot-dev/sdk-js/main/logo.png\" width=\"200\"><br>@epilot/sdk</h1>\n\n<p align=\"center\">\n <a href=\"https://github.com/epilot-dev/sdk-js/actions?query=workflow%3ACI\"><img src=\"https://github.com/epilot-dev/sdk-js/workflows/CI/badge.svg\" alt=\"CI\"></a>\n <a href=\"https://www.npmjs.com/package/@epilot/sdk\"><img src=\"https://img.shields.io/npm/v/@epilot/sdk.svg\" alt=\"npm version\"></a>\n <a href=\"https://github.com/epilot-dev/sdk-js/blob/main/\"><img src=\"http://img.shields.io/:license-mit-blue.svg\" alt=\"License\"></a>\n</p>\n\n<p align=\"center\">JavaScript/TypeScript SDK for epilot APIs. Full types, tree-shakeable imports, and lazy-loaded OpenAPI specs.</p>\n\n## Install\n\n```bash\nnpm i @epilot/sdk axios openapi-client-axios\n```\n\n## Quick Start\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '<my-bearer-token>')\n\nconst { data: entity } = await epilot.entity.createEntity(\n { slug: 'contact' },\n { first_name: 'John', last_name: 'Doe' },\n)\n\nconst { data: file } = await epilot.file.getFile({ id: 'file-123' })\n\nconst { data: executions } = await epilot.workflow.getExecutions()\n```\n\nAPI clients are built on [openapi-client-axios](https://openapistack.co/docs/openapi-client-axios/intro/), which generates fully typed operation methods on top of regular [axios](https://axios-http.com/docs/intro) instances. All standard axios features (interceptors, defaults, config) work as expected. Each operation is forwarded to a lazy singleton \u2014 the spec is loaded and the client initialized on first use, then cached.\n\nFull API documentation: [https://docs.epilot.io/api](https://docs.epilot.io/api)\n\n## API Reference\n\n<!-- api-reference-table -->\n| API | Import | Docs |\n| --- | ------ | ---- |\n| `epilot.accessToken` | `@epilot/sdk/access-token` | [docs](./docs/access-token.md) |\n| `epilot.address` | `@epilot/sdk/address` | [docs](./docs/address.md) |\n| `epilot.addressSuggestions` | `@epilot/sdk/address-suggestions` | [docs](./docs/address-suggestions.md) |\n| `epilot.aiAgents` | `@epilot/sdk/ai-agents` | [docs](./docs/ai-agents.md) |\n| `epilot.app` | `@epilot/sdk/app` | [docs](./docs/app.md) |\n| `epilot.auditLogs` | `@epilot/sdk/audit-logs` | [docs](./docs/audit-logs.md) |\n| `epilot.automation` | `@epilot/sdk/automation` | [docs](./docs/automation.md) |\n| `epilot.billing` | `@epilot/sdk/billing` | [docs](./docs/billing.md) |\n| `epilot.blueprintManifest` | `@epilot/sdk/blueprint-manifest` | [docs](./docs/blueprint-manifest.md) |\n| `epilot.consent` | `@epilot/sdk/consent` | [docs](./docs/consent.md) |\n| `epilot.customerPortal` | `@epilot/sdk/customer-portal` | [docs](./docs/customer-portal.md) |\n| `epilot.dashboard` | `@epilot/sdk/dashboard` | [docs](./docs/dashboard.md) |\n| `epilot.dataGovernance` | `@epilot/sdk/data-governance` | [docs](./docs/data-governance.md) |\n| `epilot.deduplication` | `@epilot/sdk/deduplication` | [docs](./docs/deduplication.md) |\n| `epilot.design` | `@epilot/sdk/design` | [docs](./docs/design.md) |\n| `epilot.document` | `@epilot/sdk/document` | [docs](./docs/document.md) |\n| `epilot.emailSettings` | `@epilot/sdk/email-settings` | [docs](./docs/email-settings.md) |\n| `epilot.emailTemplate` | `@epilot/sdk/email-template` | [docs](./docs/email-template.md) |\n| `epilot.entity` | `@epilot/sdk/entity` | [docs](./docs/entity.md) |\n| `epilot.entityMapping` | `@epilot/sdk/entity-mapping` | [docs](./docs/entity-mapping.md) |\n| `epilot.environments` | `@epilot/sdk/environments` | [docs](./docs/environments.md) |\n| `epilot.erpIntegration` | `@epilot/sdk/erp-integration` | [docs](./docs/erp-integration.md) |\n| `epilot.eventCatalog` | `@epilot/sdk/event-catalog` | [docs](./docs/event-catalog.md) |\n| `epilot.file` | `@epilot/sdk/file` | [docs](./docs/file.md) |\n| `epilot.iban` | `@epilot/sdk/iban` | [docs](./docs/iban.md) |\n| `epilot.journey` | `@epilot/sdk/journey` | [docs](./docs/journey.md) |\n| `epilot.kanban` | `@epilot/sdk/kanban` | [docs](./docs/kanban.md) |\n| `epilot.message` | `@epilot/sdk/message` | [docs](./docs/message.md) |\n| `epilot.metering` | `@epilot/sdk/metering` | [docs](./docs/metering.md) |\n| `epilot.notes` | `@epilot/sdk/notes` | [docs](./docs/notes.md) |\n| `epilot.notification` | `@epilot/sdk/notification` | [docs](./docs/notification.md) |\n| `epilot.organization` | `@epilot/sdk/organization` | [docs](./docs/organization.md) |\n| `epilot.partnerDirectory` | `@epilot/sdk/partner-directory` | [docs](./docs/partner-directory.md) |\n| `epilot.permissions` | `@epilot/sdk/permissions` | [docs](./docs/permissions.md) |\n| `epilot.pricing` | `@epilot/sdk/pricing` | [docs](./docs/pricing.md) |\n| `epilot.pricingTier` | `@epilot/sdk/pricing-tier` | [docs](./docs/pricing-tier.md) |\n| `epilot.purpose` | `@epilot/sdk/purpose` | [docs](./docs/purpose.md) |\n| `epilot.sandbox` | `@epilot/sdk/sandbox` | [docs](./docs/sandbox.md) |\n| `epilot.submission` | `@epilot/sdk/submission` | [docs](./docs/submission.md) |\n| `epilot.targeting` | `@epilot/sdk/targeting` | [docs](./docs/targeting.md) |\n| `epilot.templateVariables` | `@epilot/sdk/template-variables` | [docs](./docs/template-variables.md) |\n| `epilot.user` | `@epilot/sdk/user` | [docs](./docs/user.md) |\n| `epilot.validationRules` | `@epilot/sdk/validation-rules` | [docs](./docs/validation-rules.md) |\n| `epilot.webhooks` | `@epilot/sdk/webhooks` | [docs](./docs/webhooks.md) |\n| `epilot.workflow` | `@epilot/sdk/workflow` | [docs](./docs/workflow.md) |\n| `epilot.workflowDefinition` | `@epilot/sdk/workflow-definition` | [docs](./docs/workflow-definition.md) |\n<!-- /api-reference-table -->\n\n## OpenAPI Spec\n\nRetrieve the full OpenAPI specification for any API at runtime. The spec is lazy-loaded on first call and cached.\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\n// Via API handle\nconst entitySpec = await epilot.entity.openapi()\nconsole.log(entitySpec.info.title) // \"Entity API\"\nconsole.log(entitySpec.paths) // all paths with full schemas\n\n// Via top-level method\nconst spec = await epilot.openapi('entity')\n```\n\nFor tree-shakeable imports:\n\n```ts\nimport { openapi } from '@epilot/sdk/entity'\n\nconst spec = await openapi()\n```\n\n## Explicit Client Access\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '<my-token>')\n\n// Get the cached singleton client\nconst entityClient = epilot.entity.getClient()\nconst { data } = await entityClient.getEntity({ slug: 'contact', id: '123' })\n\n// Create a fresh (non-singleton) client instance\nconst freshClient = epilot.entity.createClient()\nauthorize(freshClient, () => '<my-token>')\n```\n\n## Tree-Shakeable Imports\n\nImport only what you need. Other APIs never touch your bundle.\n\n```ts\nimport { getClient, authorize } from '@epilot/sdk/entity'\n\nconst entityClient = getClient()\nauthorize(entityClient, () => '<my-token>')\n\nconst { data } = await entityClient.getEntity({ slug: 'contact', id: '123' })\n\n// Or use the handle for direct operation forwarding\nimport { entity } from '@epilot/sdk/entity'\nconst { data } = await entity.getEntity({ slug: 'contact', id: '123' })\n```\n\n## Types\n\nEach API subpath re-exports all schema types generated from the OpenAPI spec. Import them directly:\n\n```ts\nimport type { Entity, EntitySchema, RelationAttribute } from '@epilot/sdk/entity'\nimport type { FileItem } from '@epilot/sdk/file'\nimport type { AutomationFlow } from '@epilot/sdk/automation'\n```\n\nThe `Client`, `OperationMethods`, and `PathsDictionary` types are also available for typing client instances:\n\n```ts\nimport type { Client } from '@epilot/sdk/entity'\n\nconst entityClient: Client = epilot.entity.getClient()\n```\n\n## Headers\n\n### Global Headers\n\nSet default headers applied to all clients. Useful for `x-epilot-org-id`, `x-epilot-user-id`, etc.\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '<my-token>')\nepilot.headers({\n 'x-epilot-org-id': 'org-123',\n 'x-epilot-user-id': 'user-456',\n})\n\nconst { data } = await epilot.entity.searchEntities(...)\n```\n\n### Standard Axios Headers\n\nUse standard axios `defaults.headers.common` on individual clients:\n\n```ts\nconst entityClient = epilot.entity.getClient()\nentityClient.defaults.headers.common['x-epilot-org-id'] = 'org-123'\n```\n\n## Auth Patterns\n\n`authorize()` accepts a string or a function. The function form is preferred \u2014 it is called on every request, so tokens stay fresh.\n\n```ts\nimport { authorize } from '@epilot/sdk'\nimport { getClient } from '@epilot/sdk/entity'\n\n// Per-client \u2014 function predicate (recommended)\nconst entityClient = getClient()\nauthorize(entityClient, () => '<my-token>')\n\n// Per-client \u2014 async function (e.g. OAuth / session)\nauthorize(entityClient, async () => {\n return await getTokenFromSession()\n})\n\n// Per-client \u2014 static string (sets default header once)\nauthorize(entityClient, 'my-static-api-token')\n```\n\n```ts\n// Global \u2014 applies to all clients resolved from the SDK\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '<my-token>')\nepilot.authorize(async () => await getTokenFromSession())\nepilot.authorize('my-static-api-token')\n```\n\n## Fresh Client Instance\n\n```ts\nimport { createClient, authorize } from '@epilot/sdk/entity'\n\nconst entityClient = createClient()\nauthorize(entityClient, () => '<my-token>')\nentityClient.defaults.headers.common['x-epilot-org-id'] = 'org-123'\n```\n\n## Multiple SDK Instances\n\n```ts\nimport { createSDK } from '@epilot/sdk'\n\nconst sdk1 = createSDK()\nsdk1.authorize(() => '<token-for-org-1>')\nsdk1.headers({ 'x-epilot-org-id': 'org-1' })\n\nconst sdk2 = createSDK()\nsdk2.authorize(() => '<token-for-org-2>')\nsdk2.headers({ 'x-epilot-org-id': 'org-2' })\n```\n\n\n## Interceptors\n\nUse axios interceptors for custom request/response processing. Since clients are axios instances, you can use `client.interceptors` directly:\n\n```ts\nentityClient.interceptors.response.use((response) => {\n console.debug(`${response.config.method?.toUpperCase()} ${response.config.url}`, {\n status: response.status,\n data: response.data,\n })\n return response\n})\n```\n\nOr register global interceptors applied to all clients:\n\n```ts\nepilot.interceptors.request((config) => {\n config.headers['x-correlation-id'] = generateTraceId()\n return config\n})\n```\n\n## Auto-Retry (429 Too Many Requests)\n\nThe SDK automatically retries requests that receive a `429 Too Many Requests` response. It respects the `Retry-After` header (in seconds) to determine how long to wait before retrying.\n\nEnabled by default with up to 3 retries.\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\n// Customize retry behavior\nepilot.retry({ maxRetries: 5, defaultDelayMs: 2000 })\n\n// Disable retries\nepilot.retry({ maxRetries: 0 })\n```\n\n| Option | Default | Description |\n| --- | --- | --- |\n| `maxRetries` | `3` | Maximum number of retries. Set to `0` to disable. |\n| `defaultDelayMs` | `1000` | Fallback delay in ms when `Retry-After` header is missing. |\n\nFor individually imported clients (tree-shakeable imports), apply the interceptor manually:\n\n```ts\nimport { getClient, authorize } from '@epilot/sdk/entity'\nimport { applyRetryInterceptor } from '@epilot/sdk'\n\nconst entityClient = getClient()\nauthorize(entityClient, () => '<my-token>')\napplyRetryInterceptor({ client: entityClient, config: { maxRetries: 3 } })\n```\n\n## Large Response Handling (413 Payload Too Large)\n\nepilot APIs use a [large response middleware](https://github.com/epilot-dev/aws-lambda-utility-middlewares) to work around the AWS Lambda 6MB response limit. When a response exceeds ~5.1MB, the API uploads the payload to S3 and returns a presigned URL instead.\n\nThe SDK handles this transparently \u2014 it sends the opt-in `Accept` header and automatically fetches the full payload from S3 when a large response URL is returned. Enabled by default.\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\n// Disable large response handling\nepilot.largeResponse({ enabled: false })\n```\n\nFor individually imported clients (tree-shakeable imports), apply the interceptor manually:\n\n```ts\nimport { getClient, authorize } from '@epilot/sdk/entity'\nimport { applyLargeResponseInterceptor } from '@epilot/sdk'\n\nconst entityClient = getClient()\nauthorize(entityClient, () => '<my-token>')\napplyLargeResponseInterceptor({ client: entityClient, config: { enabled: true } })\n```\n\n## Overrides & Custom APIs\n\nOverride built-in API specs or register custom APIs via `.epilot/sdk-overrides.json`. This is useful for testing new versions of an API spec or getting the latest types without waiting for an SDK release.\n\n```json\n{\n \"entity\": \"./specs/entity-openapi.json\",\n \"myNewApi\": \"./specs/my-new-api-openapi.json\"\n}\n```\n\n```ts\n// Built-in API with overridden spec\nconst { data } = await epilot.entity.getEntity({ slug: 'contact', id: '123' })\n```\n\n### Override Commands\n\n```bash\n# Apply all overrides from .epilot/sdk-overrides.json\nnpx epilot-sdk override\n\n# Override a single API\nnpx epilot-sdk override entity ./my-local-entity-spec.yaml\n\n# Regenerate types after spec changes\nnpx epilot-sdk typegen\n```\n\n<details>\n<summary>Migration from <code>@epilot/*-client</code></summary>\n\nDrop-in replacement \u2014 just change the import path:\n\n```ts\n// Before\nimport { getClient, createClient, authorize } from '@epilot/entity-client'\nimport type { Client, Entity } from '@epilot/entity-client'\n\n// After\nimport { getClient, createClient, authorize } from '@epilot/sdk/entity'\nimport type { Client, Entity } from '@epilot/sdk/entity'\n```\n\n</details>\n\n<details>\n<summary>Client Lifecycle</summary>\n\nWhen you call `authorize()`, `headers()`, `retry()`, `largeResponse()`, or `interceptors`, the SDK invalidates all cached client instances. The next operation call creates a fresh client with the updated configuration.\n\n**Operation methods are always up to date** \u2014 calls like `epilot.entity.getEntity(...)` re-resolve the client on every invocation, so they always use the latest config.\n\n**Direct `getClient()` references can go stale** \u2014 if you hold a reference and then change config, your reference still points to the old client:\n\n```ts\nconst entityClient = epilot.entity.getClient()\n\nepilot.authorize('new-token') // invalidates all cached clients\n\n// entityClient still has the old token\n// epilot.entity.getEntity(...) will use a new client with the new token\n```\n\nIf you need a long-lived reference that survives config changes, call `getClient()` again after changing config, or use operation methods directly.\n\n</details>\n";
5
- export {
6
- README_default as default
7
- };
@@ -1,7 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
-
3
- // src/docs/README.json
4
- var README_default = "<h1 align=\"center\"><img alt=\"epilot\" src=\"https://raw.githubusercontent.com/epilot-dev/sdk-js/main/logo.png\" width=\"200\"><br>@epilot/sdk</h1>\n\n<p align=\"center\">\n <a href=\"https://github.com/epilot-dev/sdk-js/actions?query=workflow%3ACI\"><img src=\"https://github.com/epilot-dev/sdk-js/workflows/CI/badge.svg\" alt=\"CI\"></a>\n <a href=\"https://www.npmjs.com/package/@epilot/sdk\"><img src=\"https://img.shields.io/npm/v/@epilot/sdk.svg\" alt=\"npm version\"></a>\n <a href=\"https://github.com/epilot-dev/sdk-js/blob/main/\"><img src=\"http://img.shields.io/:license-mit-blue.svg\" alt=\"License\"></a>\n</p>\n\n<p align=\"center\">JavaScript/TypeScript SDK for epilot APIs. Full types, tree-shakeable imports, and lazy-loaded OpenAPI specs.</p>\n\n## Install\n\n```bash\nnpm i @epilot/sdk axios openapi-client-axios\n```\n\n## Quick Start\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '<my-bearer-token>')\n\nconst { data: entity } = await epilot.entity.createEntity(\n { slug: 'contact' },\n { first_name: 'John', last_name: 'Doe' },\n)\n\nconst { data: file } = await epilot.file.getFile({ id: 'file-123' })\n\nconst { data: executions } = await epilot.workflow.getExecutions()\n```\n\nAPI clients are built on [openapi-client-axios](https://openapistack.co/docs/openapi-client-axios/intro/), which generates fully typed operation methods on top of regular [axios](https://axios-http.com/docs/intro) instances. All standard axios features (interceptors, defaults, config) work as expected. Each operation is forwarded to a lazy singleton \u2014 the spec is loaded and the client initialized on first use, then cached.\n\nFull API documentation: [https://docs.epilot.io/api](https://docs.epilot.io/api)\n\n## API Reference\n\n<!-- api-reference-table -->\n| API | Import | Docs |\n| --- | ------ | ---- |\n| `epilot.accessToken` | `@epilot/sdk/access-token` | [docs](./docs/access-token.md) |\n| `epilot.address` | `@epilot/sdk/address` | [docs](./docs/address.md) |\n| `epilot.addressSuggestions` | `@epilot/sdk/address-suggestions` | [docs](./docs/address-suggestions.md) |\n| `epilot.aiAgents` | `@epilot/sdk/ai-agents` | [docs](./docs/ai-agents.md) |\n| `epilot.app` | `@epilot/sdk/app` | [docs](./docs/app.md) |\n| `epilot.auditLogs` | `@epilot/sdk/audit-logs` | [docs](./docs/audit-logs.md) |\n| `epilot.automation` | `@epilot/sdk/automation` | [docs](./docs/automation.md) |\n| `epilot.billing` | `@epilot/sdk/billing` | [docs](./docs/billing.md) |\n| `epilot.blueprintManifest` | `@epilot/sdk/blueprint-manifest` | [docs](./docs/blueprint-manifest.md) |\n| `epilot.consent` | `@epilot/sdk/consent` | [docs](./docs/consent.md) |\n| `epilot.customerPortal` | `@epilot/sdk/customer-portal` | [docs](./docs/customer-portal.md) |\n| `epilot.dashboard` | `@epilot/sdk/dashboard` | [docs](./docs/dashboard.md) |\n| `epilot.dataGovernance` | `@epilot/sdk/data-governance` | [docs](./docs/data-governance.md) |\n| `epilot.deduplication` | `@epilot/sdk/deduplication` | [docs](./docs/deduplication.md) |\n| `epilot.design` | `@epilot/sdk/design` | [docs](./docs/design.md) |\n| `epilot.document` | `@epilot/sdk/document` | [docs](./docs/document.md) |\n| `epilot.emailSettings` | `@epilot/sdk/email-settings` | [docs](./docs/email-settings.md) |\n| `epilot.emailTemplate` | `@epilot/sdk/email-template` | [docs](./docs/email-template.md) |\n| `epilot.entity` | `@epilot/sdk/entity` | [docs](./docs/entity.md) |\n| `epilot.entityMapping` | `@epilot/sdk/entity-mapping` | [docs](./docs/entity-mapping.md) |\n| `epilot.environments` | `@epilot/sdk/environments` | [docs](./docs/environments.md) |\n| `epilot.erpIntegration` | `@epilot/sdk/erp-integration` | [docs](./docs/erp-integration.md) |\n| `epilot.eventCatalog` | `@epilot/sdk/event-catalog` | [docs](./docs/event-catalog.md) |\n| `epilot.file` | `@epilot/sdk/file` | [docs](./docs/file.md) |\n| `epilot.iban` | `@epilot/sdk/iban` | [docs](./docs/iban.md) |\n| `epilot.journey` | `@epilot/sdk/journey` | [docs](./docs/journey.md) |\n| `epilot.kanban` | `@epilot/sdk/kanban` | [docs](./docs/kanban.md) |\n| `epilot.message` | `@epilot/sdk/message` | [docs](./docs/message.md) |\n| `epilot.metering` | `@epilot/sdk/metering` | [docs](./docs/metering.md) |\n| `epilot.notes` | `@epilot/sdk/notes` | [docs](./docs/notes.md) |\n| `epilot.notification` | `@epilot/sdk/notification` | [docs](./docs/notification.md) |\n| `epilot.organization` | `@epilot/sdk/organization` | [docs](./docs/organization.md) |\n| `epilot.partnerDirectory` | `@epilot/sdk/partner-directory` | [docs](./docs/partner-directory.md) |\n| `epilot.permissions` | `@epilot/sdk/permissions` | [docs](./docs/permissions.md) |\n| `epilot.pricing` | `@epilot/sdk/pricing` | [docs](./docs/pricing.md) |\n| `epilot.pricingTier` | `@epilot/sdk/pricing-tier` | [docs](./docs/pricing-tier.md) |\n| `epilot.purpose` | `@epilot/sdk/purpose` | [docs](./docs/purpose.md) |\n| `epilot.sandbox` | `@epilot/sdk/sandbox` | [docs](./docs/sandbox.md) |\n| `epilot.submission` | `@epilot/sdk/submission` | [docs](./docs/submission.md) |\n| `epilot.targeting` | `@epilot/sdk/targeting` | [docs](./docs/targeting.md) |\n| `epilot.templateVariables` | `@epilot/sdk/template-variables` | [docs](./docs/template-variables.md) |\n| `epilot.user` | `@epilot/sdk/user` | [docs](./docs/user.md) |\n| `epilot.validationRules` | `@epilot/sdk/validation-rules` | [docs](./docs/validation-rules.md) |\n| `epilot.webhooks` | `@epilot/sdk/webhooks` | [docs](./docs/webhooks.md) |\n| `epilot.workflow` | `@epilot/sdk/workflow` | [docs](./docs/workflow.md) |\n| `epilot.workflowDefinition` | `@epilot/sdk/workflow-definition` | [docs](./docs/workflow-definition.md) |\n<!-- /api-reference-table -->\n\n## OpenAPI Spec\n\nRetrieve the full OpenAPI specification for any API at runtime. The spec is lazy-loaded on first call and cached.\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\n// Via API handle\nconst entitySpec = await epilot.entity.openapi()\nconsole.log(entitySpec.info.title) // \"Entity API\"\nconsole.log(entitySpec.paths) // all paths with full schemas\n\n// Via top-level method\nconst spec = await epilot.openapi('entity')\n```\n\nFor tree-shakeable imports:\n\n```ts\nimport { openapi } from '@epilot/sdk/entity'\n\nconst spec = await openapi()\n```\n\n## Explicit Client Access\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '<my-token>')\n\n// Get the cached singleton client\nconst entityClient = epilot.entity.getClient()\nconst { data } = await entityClient.getEntity({ slug: 'contact', id: '123' })\n\n// Create a fresh (non-singleton) client instance\nconst freshClient = epilot.entity.createClient()\nauthorize(freshClient, () => '<my-token>')\n```\n\n## Tree-Shakeable Imports\n\nImport only what you need. Other APIs never touch your bundle.\n\n```ts\nimport { getClient, authorize } from '@epilot/sdk/entity'\n\nconst entityClient = getClient()\nauthorize(entityClient, () => '<my-token>')\n\nconst { data } = await entityClient.getEntity({ slug: 'contact', id: '123' })\n\n// Or use the handle for direct operation forwarding\nimport { entity } from '@epilot/sdk/entity'\nconst { data } = await entity.getEntity({ slug: 'contact', id: '123' })\n```\n\n## Types\n\nEach API subpath re-exports all schema types generated from the OpenAPI spec. Import them directly:\n\n```ts\nimport type { Entity, EntitySchema, RelationAttribute } from '@epilot/sdk/entity'\nimport type { FileItem } from '@epilot/sdk/file'\nimport type { AutomationFlow } from '@epilot/sdk/automation'\n```\n\nThe `Client`, `OperationMethods`, and `PathsDictionary` types are also available for typing client instances:\n\n```ts\nimport type { Client } from '@epilot/sdk/entity'\n\nconst entityClient: Client = epilot.entity.getClient()\n```\n\n## Headers\n\n### Global Headers\n\nSet default headers applied to all clients. Useful for `x-epilot-org-id`, `x-epilot-user-id`, etc.\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '<my-token>')\nepilot.headers({\n 'x-epilot-org-id': 'org-123',\n 'x-epilot-user-id': 'user-456',\n})\n\nconst { data } = await epilot.entity.searchEntities(...)\n```\n\n### Standard Axios Headers\n\nUse standard axios `defaults.headers.common` on individual clients:\n\n```ts\nconst entityClient = epilot.entity.getClient()\nentityClient.defaults.headers.common['x-epilot-org-id'] = 'org-123'\n```\n\n## Auth Patterns\n\n`authorize()` accepts a string or a function. The function form is preferred \u2014 it is called on every request, so tokens stay fresh.\n\n```ts\nimport { authorize } from '@epilot/sdk'\nimport { getClient } from '@epilot/sdk/entity'\n\n// Per-client \u2014 function predicate (recommended)\nconst entityClient = getClient()\nauthorize(entityClient, () => '<my-token>')\n\n// Per-client \u2014 async function (e.g. OAuth / session)\nauthorize(entityClient, async () => {\n return await getTokenFromSession()\n})\n\n// Per-client \u2014 static string (sets default header once)\nauthorize(entityClient, 'my-static-api-token')\n```\n\n```ts\n// Global \u2014 applies to all clients resolved from the SDK\nimport { epilot } from '@epilot/sdk'\n\nepilot.authorize(() => '<my-token>')\nepilot.authorize(async () => await getTokenFromSession())\nepilot.authorize('my-static-api-token')\n```\n\n## Fresh Client Instance\n\n```ts\nimport { createClient, authorize } from '@epilot/sdk/entity'\n\nconst entityClient = createClient()\nauthorize(entityClient, () => '<my-token>')\nentityClient.defaults.headers.common['x-epilot-org-id'] = 'org-123'\n```\n\n## Multiple SDK Instances\n\n```ts\nimport { createSDK } from '@epilot/sdk'\n\nconst sdk1 = createSDK()\nsdk1.authorize(() => '<token-for-org-1>')\nsdk1.headers({ 'x-epilot-org-id': 'org-1' })\n\nconst sdk2 = createSDK()\nsdk2.authorize(() => '<token-for-org-2>')\nsdk2.headers({ 'x-epilot-org-id': 'org-2' })\n```\n\n\n## Interceptors\n\nUse axios interceptors for custom request/response processing. Since clients are axios instances, you can use `client.interceptors` directly:\n\n```ts\nentityClient.interceptors.response.use((response) => {\n console.debug(`${response.config.method?.toUpperCase()} ${response.config.url}`, {\n status: response.status,\n data: response.data,\n })\n return response\n})\n```\n\nOr register global interceptors applied to all clients:\n\n```ts\nepilot.interceptors.request((config) => {\n config.headers['x-correlation-id'] = generateTraceId()\n return config\n})\n```\n\n## Auto-Retry (429 Too Many Requests)\n\nThe SDK automatically retries requests that receive a `429 Too Many Requests` response. It respects the `Retry-After` header (in seconds) to determine how long to wait before retrying.\n\nEnabled by default with up to 3 retries.\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\n// Customize retry behavior\nepilot.retry({ maxRetries: 5, defaultDelayMs: 2000 })\n\n// Disable retries\nepilot.retry({ maxRetries: 0 })\n```\n\n| Option | Default | Description |\n| --- | --- | --- |\n| `maxRetries` | `3` | Maximum number of retries. Set to `0` to disable. |\n| `defaultDelayMs` | `1000` | Fallback delay in ms when `Retry-After` header is missing. |\n\nFor individually imported clients (tree-shakeable imports), apply the interceptor manually:\n\n```ts\nimport { getClient, authorize } from '@epilot/sdk/entity'\nimport { applyRetryInterceptor } from '@epilot/sdk'\n\nconst entityClient = getClient()\nauthorize(entityClient, () => '<my-token>')\napplyRetryInterceptor({ client: entityClient, config: { maxRetries: 3 } })\n```\n\n## Large Response Handling (413 Payload Too Large)\n\nepilot APIs use a [large response middleware](https://github.com/epilot-dev/aws-lambda-utility-middlewares) to work around the AWS Lambda 6MB response limit. When a response exceeds ~5.1MB, the API uploads the payload to S3 and returns a presigned URL instead.\n\nThe SDK handles this transparently \u2014 it sends the opt-in `Accept` header and automatically fetches the full payload from S3 when a large response URL is returned. Enabled by default.\n\n```ts\nimport { epilot } from '@epilot/sdk'\n\n// Disable large response handling\nepilot.largeResponse({ enabled: false })\n```\n\nFor individually imported clients (tree-shakeable imports), apply the interceptor manually:\n\n```ts\nimport { getClient, authorize } from '@epilot/sdk/entity'\nimport { applyLargeResponseInterceptor } from '@epilot/sdk'\n\nconst entityClient = getClient()\nauthorize(entityClient, () => '<my-token>')\napplyLargeResponseInterceptor({ client: entityClient, config: { enabled: true } })\n```\n\n## Overrides & Custom APIs\n\nOverride built-in API specs or register custom APIs via `.epilot/sdk-overrides.json`. This is useful for testing new versions of an API spec or getting the latest types without waiting for an SDK release.\n\n```json\n{\n \"entity\": \"./specs/entity-openapi.json\",\n \"myNewApi\": \"./specs/my-new-api-openapi.json\"\n}\n```\n\n```ts\n// Built-in API with overridden spec\nconst { data } = await epilot.entity.getEntity({ slug: 'contact', id: '123' })\n```\n\n### Override Commands\n\n```bash\n# Apply all overrides from .epilot/sdk-overrides.json\nnpx epilot-sdk override\n\n# Override a single API\nnpx epilot-sdk override entity ./my-local-entity-spec.yaml\n\n# Regenerate types after spec changes\nnpx epilot-sdk typegen\n```\n\n<details>\n<summary>Migration from <code>@epilot/*-client</code></summary>\n\nDrop-in replacement \u2014 just change the import path:\n\n```ts\n// Before\nimport { getClient, createClient, authorize } from '@epilot/entity-client'\nimport type { Client, Entity } from '@epilot/entity-client'\n\n// After\nimport { getClient, createClient, authorize } from '@epilot/sdk/entity'\nimport type { Client, Entity } from '@epilot/sdk/entity'\n```\n\n</details>\n\n<details>\n<summary>Client Lifecycle</summary>\n\nWhen you call `authorize()`, `headers()`, `retry()`, `largeResponse()`, or `interceptors`, the SDK invalidates all cached client instances. The next operation call creates a fresh client with the updated configuration.\n\n**Operation methods are always up to date** \u2014 calls like `epilot.entity.getEntity(...)` re-resolve the client on every invocation, so they always use the latest config.\n\n**Direct `getClient()` references can go stale** \u2014 if you hold a reference and then change config, your reference still points to the old client:\n\n```ts\nconst entityClient = epilot.entity.getClient()\n\nepilot.authorize('new-token') // invalidates all cached clients\n\n// entityClient still has the old token\n// epilot.entity.getEntity(...) will use a new client with the new token\n```\n\nIf you need a long-lived reference that survives config changes, call `getClient()` again after changing config, or use operation methods directly.\n\n</details>\n";
5
-
6
-
7
- exports.default = README_default;
@@ -1,7 +0,0 @@
1
- import "./chunk-YPSWSI3M.js";
2
-
3
- // src/docs/user.json
4
- var user_default = '# User API\n\n- **Base URL:** `https://user.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/user](https://docs.epilot.io/api/user)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.user.signUpUser(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/user\'\n\nconst userClient = getClient()\nauthorize(userClient, () => \'<token>\')\nconst { data } = await userClient.signUpUser(...)\n```\n\n## Operations\n\n**User V2**\n- [`signUpUser`](#signupuser)\n- [`getMeV2`](#getmev2)\n- [`listUsersV2`](#listusersv2)\n- [`getUserV2`](#getuserv2)\n- [`updateUserV2`](#updateuserv2)\n- [`deleteUserV2`](#deleteuserv2)\n- [`inviteUser`](#inviteuser)\n- [`resendUserInvitation`](#resenduserinvitation)\n- [`getGroupsForUser`](#getgroupsforuser)\n- [`verifyEmailWithToken`](#verifyemailwithtoken)\n- [`checkInviteToken`](#checkinvitetoken)\n- [`activateUser`](#activateuser)\n- [`rejectInvite`](#rejectinvite)\n- [`getUserLoginParametersV2`](#getuserloginparametersv2)\n- [`beginPasskeyAuthentication`](#beginpasskeyauthentication)\n- [`beginDiscoverablePasskeyAuthentication`](#begindiscoverablepasskeyauthentication)\n- [`resolveDiscoverableCredential`](#resolvediscoverablecredential)\n- [`beginPasskeyRegistration`](#beginpasskeyregistration)\n- [`completePasskeyRegistration`](#completepasskeyregistration)\n- [`listPasskeys`](#listpasskeys)\n- [`deletePasskey`](#deletepasskey)\n- [`switchOrganization`](#switchorganization)\n\n**Group**\n- [`getGroups`](#getgroups)\n- [`createGroup`](#creategroup)\n- [`getGroup`](#getgroup)\n- [`updateGroup`](#updategroup)\n- [`deleteGroup`](#deletegroup)\n- [`advanceUserAssignment`](#advanceuserassignment)\n\n**Navigation**\n- [`createNavigation`](#createnavigation)\n- [`getNavigation`](#getnavigation)\n\n**User V1**\n- [`getMe`](#getme)\n- [`listUsers`](#listusers)\n- [`getUser`](#getuser)\n- [`getUserLoginParameters`](#getuserloginparameters)\n\n**Schemas**\n- [`NavigationId`](#navigationid)\n- [`Navigation`](#navigation)\n- [`NavigationCreateRequest`](#navigationcreaterequest)\n- [`NavigationConfiguration`](#navigationconfiguration)\n- [`NavigationItem`](#navigationitem)\n- [`NavigationKeyItem`](#navigationkeyitem)\n- [`NavigationGroupItem`](#navigationgroupitem)\n- [`InviteToken`](#invitetoken)\n- [`PartnerInvitationToken`](#partnerinvitationtoken)\n- [`VerificationToken`](#verificationtoken)\n- [`GroupId`](#groupid)\n- [`UserId`](#userid)\n- [`Query`](#query)\n- [`OrganizationId`](#organizationid)\n- [`Limit`](#limit)\n- [`Offset`](#offset)\n- [`Hydrate`](#hydrate)\n- [`Username`](#username)\n- [`UserInvitationPayload`](#userinvitationpayload)\n- [`UserActivationPayload`](#useractivationpayload)\n- [`UserVerificationPayload`](#userverificationpayload)\n- [`UserV2`](#userv2)\n- [`User`](#user)\n- [`LoginParameters`](#loginparameters)\n- [`CreateGroupReq`](#creategroupreq)\n- [`UpdateGroupReq`](#updategroupreq)\n- [`Group`](#group)\n- [`SignupUserPayload`](#signupuserpayload)\n- [`OrganizationDetail`](#organizationdetail)\n- [`CognitoDetails`](#cognitodetails)\n- [`UserDetail`](#userdetail)\n- [`Organization`](#organization)\n- [`DataPointsResponse`](#datapointsresponse)\n- [`DataPoint`](#datapoint)\n- [`Passkey`](#passkey)\n- [`PasskeyAuthenticationOptions`](#passkeyauthenticationoptions)\n- [`PasskeyRegistrationOptions`](#passkeyregistrationoptions)\n- [`PasskeyRegistrationResponse`](#passkeyregistrationresponse)\n\n### `signUpUser`\n\n`POST /v2/users/public/signup`\n\n```ts\nconst { data } = await client.signUpUser(\n {\n token: \'example\',\n },\n {\n organization_detail: {\n type: \'Vendor\',\n name: \'Epilot\',\n pricing_tier: \'professional\',\n email: \'string\',\n phone: \'string\',\n website: \'string\',\n is_privacy_policy_checked: false,\n is_terms_and_conditions_checked: false\n },\n user_detail: {\n full_name: \'Example user\',\n email: \'user@example.com\',\n password: \'AKjhdakjsdh@!34\'\n },\n language: \'en\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "user": {\n "id": "string",\n "organization_id": "string",\n "email": "user@example.com",\n "display_name": "Example user",\n "name": "Example user",\n "preferred_language": "de",\n "signature": "<p>Thanks</p>",\n "custom_navigation": "5gbe4nkp6jsfq",\n "roles": ["Owner"],\n "image_uri": {\n "original": "https://account-profile-images.epilot.cloud/1/avatar.png",\n "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"\n },\n "properties": [\n {\n "name": "profileImageName",\n "value": "avatar.png"\n }\n ]\n },\n "organization": {\n "id": "string",\n "type": "Vendor",\n "name": "Epilot",\n "signature": "<p>Thanks</p>",\n "symbol": "EPI",\n "pricing_tier": "professional",\n "email": "someone@epilot.cloud",\n "phone": 49123123123,\n "website": "https://epilot.cloud",\n "address": {\n "country": "string",\n "city": "string",\n "postal_code": "string",\n "street": "string",\n "street_number": "string"\n },\n "logo_url": "https://epilot-playground-organization-data.s3.eu-central-1.amazonaws.com/epilot-logo.png",\n "logo_thumbnail_url": "https://epilot-playground-organization-data.s3.eu-central-1.amazonaws.com/epilot-logo.png",\n "is_unlicensed_org": false,\n "cognito_details": {\n "cognito_region": "eu-central-1",\n "cognito_user_pool_id": "eu-central-sample",\n "cognito_user_pool_client_id": "asbkh213ehkquwhdi",\n "cognito_user_pool_arn": "arn:aws:cognito-idp:eu-central-1:123456789012:userpool/eu-central-sample"\n }\n }\n}\n```\n\n</details>\n\n---\n\n### `getMeV2`\n\nGet currently logged in user\n\n`GET /v2/users/me`\n\n```ts\nconst { data } = await client.getMeV2()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "organization_id": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "activated_at": "1970-01-01T00:00:00.000Z",\n "display_name": "Example User",\n "status": "Active",\n "email": "user@example.com",\n "draft_email": "user@example.com",\n "department": "Sales",\n "phone": 1234567890,\n "secondary_phone": 1234567890,\n "mfa_enabled": false,\n "phone_verified": true,\n "token": "string",\n "signature": "<p>Thanks</p>",\n "is_signature_enabled": true,\n "preferred_language": "de",\n "custom_start_page": "/app/dashboard",\n "custom_navigation": "5gbe4nkp6jsfq",\n "override_release_channel": "canary",\n "feature_preferences": {\n "feature_name": true\n },\n "image_uri": {\n "original": "https://account-profile-images.epilot.cloud/1/avatar.png",\n "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"\n },\n "favorites": {\n "entity_views": {\n "opportunity": "891a5409850abf8b92bd2cb7bdd2844d32ce6bec",\n "order": "628aee91-7c2f-4047-ab0d-433582a19c49"\n },\n "dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"\n },\n "email_notification_setting": {\n "added_participant_opportunity": true,\n "assigned_opportunity": true,\n "assigned_task": true,\n "comment_opportunity": true,\n "deleted_task": true,\n "escalated_task": true,\n "message_receive_opportunity": true,\n "message_send_opportunity": true,\n "created_task": true,\n "created_opportunity_manual": true,\n "created_opportunity_auto": true,\n "deleted_opportunity": true\n },\n "properties": [\n {\n "name": "profileImageName",\n "value": "avatar.png"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `listUsersV2`\n\nGet the list of organization users\n\n`GET /v2/users`\n\n```ts\nconst { data } = await client.listUsersV2({\n query: \'example\',\n limit: 1,\n offset: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "string",\n "organization_id": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "activated_at": "1970-01-01T00:00:00.000Z",\n "display_name": "Example User",\n "status": "Active",\n "email": "user@example.com",\n "draft_email": "user@example.com",\n "department": "Sales",\n "phone": 1234567890,\n "secondary_phone": 1234567890,\n "mfa_enabled": false,\n "phone_verified": true,\n "token": "string",\n "signature": "<p>Thanks</p>",\n "is_signature_enabled": true,\n "preferred_language": "de",\n "custom_start_page": "/app/dashboard",\n "custom_navigation": "5gbe4nkp6jsfq",\n "override_release_channel": "canary",\n "feature_preferences": {\n "feature_name": true\n },\n "image_uri": {\n "original": "https://account-profile-images.epilot.cloud/1/avatar.png",\n "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"\n },\n "favorites": {\n "entity_views": {\n "opportunity": "891a5409850abf8b92bd2cb7bdd2844d32ce6bec",\n "order": "628aee91-7c2f-4047-ab0d-433582a19c49"\n },\n "dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"\n },\n "email_notification_setting": {\n "added_participant_opportunity": true,\n "assigned_opportunity": true,\n "assigned_task": true,\n "comment_opportunity": true,\n "deleted_task": true,\n "escalated_task": true,\n "message_receive_opportunity": true,\n "message_send_opportunity": true,\n "created_task": true,\n "created_opportunity_manual": true,\n "created_opportunity_auto": true,\n "deleted_opportunity": true\n },\n "properties": [\n {\n "name": "profileImageName",\n "value": "avatar.png"\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getUserV2`\n\nGet user details by user id\n\n`GET /v2/users/{id}`\n\n```ts\nconst { data } = await client.getUserV2({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "organization_id": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "activated_at": "1970-01-01T00:00:00.000Z",\n "display_name": "Example User",\n "status": "Active",\n "email": "user@example.com",\n "draft_email": "user@example.com",\n "department": "Sales",\n "phone": 1234567890,\n "secondary_phone": 1234567890,\n "mfa_enabled": false,\n "phone_verified": true,\n "token": "string",\n "signature": "<p>Thanks</p>",\n "is_signature_enabled": true,\n "preferred_language": "de",\n "custom_start_page": "/app/dashboard",\n "custom_navigation": "5gbe4nkp6jsfq",\n "override_release_channel": "canary",\n "feature_preferences": {\n "feature_name": true\n },\n "image_uri": {\n "original": "https://account-profile-images.epilot.cloud/1/avatar.png",\n "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"\n },\n "favorites": {\n "entity_views": {\n "opportunity": "891a5409850abf8b92bd2cb7bdd2844d32ce6bec",\n "order": "628aee91-7c2f-4047-ab0d-433582a19c49"\n },\n "dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"\n },\n "email_notification_setting": {\n "added_participant_opportunity": true,\n "assigned_opportunity": true,\n "assigned_task": true,\n "comment_opportunity": true,\n "deleted_task": true,\n "escalated_task": true,\n "message_receive_opportunity": true,\n "message_send_opportunity": true,\n "created_task": true,\n "created_opportunity_manual": true,\n "created_opportunity_auto": true,\n "deleted_opportunity": true\n },\n "properties": [\n {\n "name": "profileImageName",\n "value": "avatar.png"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `updateUserV2`\n\nUpdate user details\n\n`PATCH /v2/users/{id}`\n\n```ts\nconst { data } = await client.updateUserV2(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n id: \'string\',\n organization_id: \'string\',\n created_at: \'1970-01-01T00:00:00.000Z\',\n activated_at: \'1970-01-01T00:00:00.000Z\',\n display_name: \'Example User\',\n status: \'Active\',\n email: \'user@example.com\',\n draft_email: \'user@example.com\',\n department: \'Sales\',\n phone: 1234567890,\n secondary_phone: 1234567890,\n mfa_enabled: false,\n phone_verified: true,\n token: \'string\',\n signature: \'<p>Thanks</p>\',\n is_signature_enabled: true,\n preferred_language: \'de\',\n custom_start_page: \'/app/dashboard\',\n custom_navigation: \'5gbe4nkp6jsfq\',\n override_release_channel: \'canary\',\n feature_preferences: {\n feature_name: true\n },\n image_uri: {\n original: \'https://account-profile-images.epilot.cloud/1/avatar.png\',\n thumbnail_32: \'https://account-profile-images.epilot.cloud/1/avatar_32x32.png\'\n },\n favorites: {\n entity_views: {\n opportunity: \'891a5409850abf8b92bd2cb7bdd2844d32ce6bec\',\n order: \'628aee91-7c2f-4047-ab0d-433582a19c49\'\n },\n dashboard: \'751ff121-9ac2-4511-a2e6-851f11287380\'\n },\n email_notification_setting: {\n added_participant_opportunity: true,\n assigned_opportunity: true,\n assigned_task: true,\n comment_opportunity: true,\n deleted_task: true,\n escalated_task: true,\n message_receive_opportunity: true,\n message_send_opportunity: true,\n created_task: true,\n created_opportunity_manual: true,\n created_opportunity_auto: true,\n deleted_opportunity: true\n },\n properties: [\n {\n name: \'profileImageName\',\n value: \'avatar.png\'\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "organization_id": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "activated_at": "1970-01-01T00:00:00.000Z",\n "display_name": "Example User",\n "status": "Active",\n "email": "user@example.com",\n "draft_email": "user@example.com",\n "department": "Sales",\n "phone": 1234567890,\n "secondary_phone": 1234567890,\n "mfa_enabled": false,\n "phone_verified": true,\n "token": "string",\n "signature": "<p>Thanks</p>",\n "is_signature_enabled": true,\n "preferred_language": "de",\n "custom_start_page": "/app/dashboard",\n "custom_navigation": "5gbe4nkp6jsfq",\n "override_release_channel": "canary",\n "feature_preferences": {\n "feature_name": true\n },\n "image_uri": {\n "original": "https://account-profile-images.epilot.cloud/1/avatar.png",\n "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"\n },\n "favorites": {\n "entity_views": {\n "opportunity": "891a5409850abf8b92bd2cb7bdd2844d32ce6bec",\n "order": "628aee91-7c2f-4047-ab0d-433582a19c49"\n },\n "dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"\n },\n "email_notification_setting": {\n "added_participant_opportunity": true,\n "assigned_opportunity": true,\n "assigned_task": true,\n "comment_opportunity": true,\n "deleted_task": true,\n "escalated_task": true,\n "message_receive_opportunity": true,\n "message_send_opportunity": true,\n "created_task": true,\n "created_opportunity_manual": true,\n "created_opportunity_auto": true,\n "deleted_opportunity": true\n },\n "properties": [\n {\n "name": "profileImageName",\n "value": "avatar.png"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `deleteUserV2`\n\nDelete user by user id\n\n`DELETE /v2/users/{id}`\n\n```ts\nconst { data } = await client.deleteUserV2({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "organization_id": "string",\n "email": "user@example.com",\n "display_name": "Example user",\n "name": "Example user",\n "preferred_language": "de",\n "signature": "<p>Thanks</p>",\n "custom_navigation": "5gbe4nkp6jsfq",\n "roles": ["Owner"],\n "image_uri": {\n "original": "https://account-profile-images.epilot.cloud/1/avatar.png",\n "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"\n },\n "properties": [\n {\n "name": "profileImageName",\n "value": "avatar.png"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `inviteUser`\n\nCreates a new user in the caller\'s organization and sends an invite email to activate the user\n\n`POST /v2/users/invite`\n\n```ts\nconst { data } = await client.inviteUser(\n null,\n {\n email: \'test@example.com\',\n language: \'en\',\n roles: [\'123:owner\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "organization_id": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "activated_at": "1970-01-01T00:00:00.000Z",\n "display_name": "Example User",\n "status": "Active",\n "email": "user@example.com",\n "draft_email": "user@example.com",\n "department": "Sales",\n "phone": 1234567890,\n "secondary_phone": 1234567890,\n "mfa_enabled": false,\n "phone_verified": true,\n "token": "string",\n "signature": "<p>Thanks</p>",\n "is_signature_enabled": true,\n "preferred_language": "de",\n "custom_start_page": "/app/dashboard",\n "custom_navigation": "5gbe4nkp6jsfq",\n "override_release_channel": "canary",\n "feature_preferences": {\n "feature_name": true\n },\n "image_uri": {\n "original": "https://account-profile-images.epilot.cloud/1/avatar.png",\n "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"\n },\n "favorites": {\n "entity_views": {\n "opportunity": "891a5409850abf8b92bd2cb7bdd2844d32ce6bec",\n "order": "628aee91-7c2f-4047-ab0d-433582a19c49"\n },\n "dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"\n },\n "email_notification_setting": {\n "added_participant_opportunity": true,\n "assigned_opportunity": true,\n "assigned_task": true,\n "comment_opportunity": true,\n "deleted_task": true,\n "escalated_task": true,\n "message_receive_opportunity": true,\n "message_send_opportunity": true,\n "created_task": true,\n "created_opportunity_manual": true,\n "created_opportunity_auto": true,\n "deleted_opportunity": true\n },\n "properties": [\n {\n "name": "profileImageName",\n "value": "avatar.png"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `resendUserInvitation`\n\nResend user invitation email\n\n`POST /v2/users/invite:resendEmail`\n\n```ts\nconst { data } = await client.resendUserInvitation(\n null,\n {\n email: \'test@example.com\',\n language: \'en\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "organization_id": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "activated_at": "1970-01-01T00:00:00.000Z",\n "display_name": "Example User",\n "status": "Active",\n "email": "user@example.com",\n "draft_email": "user@example.com",\n "department": "Sales",\n "phone": 1234567890,\n "secondary_phone": 1234567890,\n "mfa_enabled": false,\n "phone_verified": true,\n "token": "string",\n "signature": "<p>Thanks</p>",\n "is_signature_enabled": true,\n "preferred_language": "de",\n "custom_start_page": "/app/dashboard",\n "custom_navigation": "5gbe4nkp6jsfq",\n "override_release_channel": "canary",\n "feature_preferences": {\n "feature_name": true\n },\n "image_uri": {\n "original": "https://account-profile-images.epilot.cloud/1/avatar.png",\n "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"\n },\n "favorites": {\n "entity_views": {\n "opportunity": "891a5409850abf8b92bd2cb7bdd2844d32ce6bec",\n "order": "628aee91-7c2f-4047-ab0d-433582a19c49"\n },\n "dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"\n },\n "email_notification_setting": {\n "added_participant_opportunity": true,\n "assigned_opportunity": true,\n "assigned_task": true,\n "comment_opportunity": true,\n "deleted_task": true,\n "escalated_task": true,\n "message_receive_opportunity": true,\n "message_send_opportunity": true,\n "created_task": true,\n "created_opportunity_manual": true,\n "created_opportunity_auto": true,\n "deleted_opportunity": true\n },\n "properties": [\n {\n "name": "profileImageName",\n "value": "avatar.png"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getGroupsForUser`\n\nGet groups of a user\n\n`GET /v2/users/{id}/groups`\n\n```ts\nconst { data } = await client.getGroupsForUser({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "id": "string",\n "org_id": "string",\n "name": "Finance",\n "created_at": "2024-02-08T04:44:32.246Z",\n "updated_at": "2024-02-08T04:44:32.246Z",\n "created_by": "123",\n "crt_assignee": {\n "id": "string",\n "organization_id": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "activated_at": "1970-01-01T00:00:00.000Z",\n "display_name": "Example User",\n "status": "Active",\n "email": "user@example.com",\n "draft_email": "user@example.com",\n "department": "Sales",\n "phone": 1234567890,\n "secondary_phone": 1234567890,\n "mfa_enabled": false,\n "phone_verified": true,\n "token": "string",\n "signature": "<p>Thanks</p>",\n "is_signature_enabled": true,\n "preferred_language": "de",\n "custom_start_page": "/app/dashboard",\n "custom_navigation": "5gbe4nkp6jsfq",\n "override_release_channel": "canary",\n "feature_preferences": {},\n "image_uri": {},\n "favorites": {},\n "email_notification_setting": {},\n "properties": [],\n "crt_index": 3\n },\n "users": [\n {}\n ]\n }\n]\n```\n\n</details>\n\n---\n\n### `getGroups`\n\nLists groups in organizations you have access to\n\n`GET /v1/groups`\n\n```ts\nconst { data } = await client.getGroups({\n query: \'example\',\n limit: 1,\n offset: 1,\n hydrate: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 1,\n "groups": [\n {\n "id": "string",\n "org_id": "string",\n "name": "Finance",\n "created_at": "2024-02-08T04:44:32.246Z",\n "updated_at": "2024-02-08T04:44:32.246Z",\n "created_by": "123",\n "crt_assignee": {},\n "users": []\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createGroup`\n\nCreate a new group\n\n`POST /v1/groups`\n\n```ts\nconst { data } = await client.createGroup(\n null,\n {\n name: \'Finance\',\n user_ids: [\'123\', \'456\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "org_id": "string",\n "name": "Finance",\n "created_at": "2024-02-08T04:44:32.246Z",\n "updated_at": "2024-02-08T04:44:32.246Z",\n "created_by": "123",\n "crt_assignee": {\n "id": "string",\n "organization_id": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "activated_at": "1970-01-01T00:00:00.000Z",\n "display_name": "Example User",\n "status": "Active",\n "email": "user@example.com",\n "draft_email": "user@example.com",\n "department": "Sales",\n "phone": 1234567890,\n "secondary_phone": 1234567890,\n "mfa_enabled": false,\n "phone_verified": true,\n "token": "string",\n "signature": "<p>Thanks</p>",\n "is_signature_enabled": true,\n "preferred_language": "de",\n "custom_start_page": "/app/dashboard",\n "custom_navigation": "5gbe4nkp6jsfq",\n "override_release_channel": "canary",\n "feature_preferences": {\n "feature_name": true\n },\n "image_uri": {\n "original": "https://account-profile-images.epilot.cloud/1/avatar.png",\n "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"\n },\n "favorites": {\n "entity_views": {},\n "dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"\n },\n "email_notification_setting": {\n "added_participant_opportunity": true,\n "assigned_opportunity": true,\n "assigned_task": true,\n "comment_opportunity": true,\n "deleted_task": true,\n "escalated_task": true,\n "message_receive_opportunity": true,\n "message_send_opportunity": true,\n "created_task": true,\n "created_opportunity_manual": true,\n "created_opportunity_auto": true,\n "deleted_opportunity": true\n },\n "properties": [\n {}\n ],\n "crt_index": 3\n },\n "users": [\n {\n "id": "string",\n "organization_id": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "activated_at": "1970-01-01T00:00:00.000Z",\n "display_name": "Example User",\n "status": "Active",\n "email": "user@example.com",\n "draft_email": "user@example.com",\n "department": "Sales",\n "phone": 1234567890,\n "secondary_phone": 1234567890,\n "mfa_enabled": false,\n "phone_verified": true,\n "token": "string",\n "signature": "<p>Thanks</p>",\n "is_signature_enabled": true,\n "preferred_language": "de",\n "custom_start_page": "/app/dashboard",\n "custom_navigation": "5gbe4nkp6jsfq",\n "override_release_channel": "canary",\n "feature_preferences": {},\n "image_uri": {},\n "favorites": {},\n "email_notification_setting": {},\n "properties": []\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getGroup`\n\nGet group by id\n\n`GET /v1/groups/{id}`\n\n```ts\nconst { data } = await client.getGroup({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n hydrate: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "org_id": "string",\n "name": "Finance",\n "created_at": "2024-02-08T04:44:32.246Z",\n "updated_at": "2024-02-08T04:44:32.246Z",\n "created_by": "123",\n "crt_assignee": {\n "id": "string",\n "organization_id": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "activated_at": "1970-01-01T00:00:00.000Z",\n "display_name": "Example User",\n "status": "Active",\n "email": "user@example.com",\n "draft_email": "user@example.com",\n "department": "Sales",\n "phone": 1234567890,\n "secondary_phone": 1234567890,\n "mfa_enabled": false,\n "phone_verified": true,\n "token": "string",\n "signature": "<p>Thanks</p>",\n "is_signature_enabled": true,\n "preferred_language": "de",\n "custom_start_page": "/app/dashboard",\n "custom_navigation": "5gbe4nkp6jsfq",\n "override_release_channel": "canary",\n "feature_preferences": {\n "feature_name": true\n },\n "image_uri": {\n "original": "https://account-profile-images.epilot.cloud/1/avatar.png",\n "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"\n },\n "favorites": {\n "entity_views": {},\n "dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"\n },\n "email_notification_setting": {\n "added_participant_opportunity": true,\n "assigned_opportunity": true,\n "assigned_task": true,\n "comment_opportunity": true,\n "deleted_task": true,\n "escalated_task": true,\n "message_receive_opportunity": true,\n "message_send_opportunity": true,\n "created_task": true,\n "created_opportunity_manual": true,\n "created_opportunity_auto": true,\n "deleted_opportunity": true\n },\n "properties": [\n {}\n ],\n "crt_index": 3\n },\n "users": [\n {\n "id": "string",\n "organization_id": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "activated_at": "1970-01-01T00:00:00.000Z",\n "display_name": "Example User",\n "status": "Active",\n "email": "user@example.com",\n "draft_email": "user@example.com",\n "department": "Sales",\n "phone": 1234567890,\n "secondary_phone": 1234567890,\n "mfa_enabled": false,\n "phone_verified": true,\n "token": "string",\n "signature": "<p>Thanks</p>",\n "is_signature_enabled": true,\n "preferred_language": "de",\n "custom_start_page": "/app/dashboard",\n "custom_navigation": "5gbe4nkp6jsfq",\n "override_release_channel": "canary",\n "feature_preferences": {},\n "image_uri": {},\n "favorites": {},\n "email_notification_setting": {},\n "properties": []\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `updateGroup`\n\nUpdate group by id\n\n`PATCH /v1/groups/{id}`\n\n```ts\nconst { data } = await client.updateGroup(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n name: \'Finance\',\n user_ids: [\'123\', \'456\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "org_id": "string",\n "name": "Finance",\n "created_at": "2024-02-08T04:44:32.246Z",\n "updated_at": "2024-02-08T04:44:32.246Z",\n "created_by": "123",\n "crt_assignee": {\n "id": "string",\n "organization_id": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "activated_at": "1970-01-01T00:00:00.000Z",\n "display_name": "Example User",\n "status": "Active",\n "email": "user@example.com",\n "draft_email": "user@example.com",\n "department": "Sales",\n "phone": 1234567890,\n "secondary_phone": 1234567890,\n "mfa_enabled": false,\n "phone_verified": true,\n "token": "string",\n "signature": "<p>Thanks</p>",\n "is_signature_enabled": true,\n "preferred_language": "de",\n "custom_start_page": "/app/dashboard",\n "custom_navigation": "5gbe4nkp6jsfq",\n "override_release_channel": "canary",\n "feature_preferences": {\n "feature_name": true\n },\n "image_uri": {\n "original": "https://account-profile-images.epilot.cloud/1/avatar.png",\n "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"\n },\n "favorites": {\n "entity_views": {},\n "dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"\n },\n "email_notification_setting": {\n "added_participant_opportunity": true,\n "assigned_opportunity": true,\n "assigned_task": true,\n "comment_opportunity": true,\n "deleted_task": true,\n "escalated_task": true,\n "message_receive_opportunity": true,\n "message_send_opportunity": true,\n "created_task": true,\n "created_opportunity_manual": true,\n "created_opportunity_auto": true,\n "deleted_opportunity": true\n },\n "properties": [\n {}\n ],\n "crt_index": 3\n },\n "users": [\n {\n "id": "string",\n "organization_id": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "activated_at": "1970-01-01T00:00:00.000Z",\n "display_name": "Example User",\n "status": "Active",\n "email": "user@example.com",\n "draft_email": "user@example.com",\n "department": "Sales",\n "phone": 1234567890,\n "secondary_phone": 1234567890,\n "mfa_enabled": false,\n "phone_verified": true,\n "token": "string",\n "signature": "<p>Thanks</p>",\n "is_signature_enabled": true,\n "preferred_language": "de",\n "custom_start_page": "/app/dashboard",\n "custom_navigation": "5gbe4nkp6jsfq",\n "override_release_channel": "canary",\n "feature_preferences": {},\n "image_uri": {},\n "favorites": {},\n "email_notification_setting": {},\n "properties": []\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `deleteGroup`\n\nDelete group by id\n\n`DELETE /v1/groups/{id}`\n\n```ts\nconst { data } = await client.deleteGroup({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `advanceUserAssignment`\n\nAdvance user assignment to next user in line\n\n`POST /v1/groups/{id}/user:next`\n\n```ts\nconst { data } = await client.advanceUserAssignment({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "org_id": "string",\n "name": "Finance",\n "created_at": "2024-02-08T04:44:32.246Z",\n "updated_at": "2024-02-08T04:44:32.246Z",\n "created_by": "123",\n "crt_assignee": {\n "id": "string",\n "organization_id": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "activated_at": "1970-01-01T00:00:00.000Z",\n "display_name": "Example User",\n "status": "Active",\n "email": "user@example.com",\n "draft_email": "user@example.com",\n "department": "Sales",\n "phone": 1234567890,\n "secondary_phone": 1234567890,\n "mfa_enabled": false,\n "phone_verified": true,\n "token": "string",\n "signature": "<p>Thanks</p>",\n "is_signature_enabled": true,\n "preferred_language": "de",\n "custom_start_page": "/app/dashboard",\n "custom_navigation": "5gbe4nkp6jsfq",\n "override_release_channel": "canary",\n "feature_preferences": {\n "feature_name": true\n },\n "image_uri": {\n "original": "https://account-profile-images.epilot.cloud/1/avatar.png",\n "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"\n },\n "favorites": {\n "entity_views": {},\n "dashboard": "751ff121-9ac2-4511-a2e6-851f11287380"\n },\n "email_notification_setting": {\n "added_participant_opportunity": true,\n "assigned_opportunity": true,\n "assigned_task": true,\n "comment_opportunity": true,\n "deleted_task": true,\n "escalated_task": true,\n "message_receive_opportunity": true,\n "message_send_opportunity": true,\n "created_task": true,\n "created_opportunity_manual": true,\n "created_opportunity_auto": true,\n "deleted_opportunity": true\n },\n "properties": [\n {}\n ],\n "crt_index": 3\n },\n "users": [\n {\n "id": "string",\n "organization_id": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "activated_at": "1970-01-01T00:00:00.000Z",\n "display_name": "Example User",\n "status": "Active",\n "email": "user@example.com",\n "draft_email": "user@example.com",\n "department": "Sales",\n "phone": 1234567890,\n "secondary_phone": 1234567890,\n "mfa_enabled": false,\n "phone_verified": true,\n "token": "string",\n "signature": "<p>Thanks</p>",\n "is_signature_enabled": true,\n "preferred_language": "de",\n "custom_start_page": "/app/dashboard",\n "custom_navigation": "5gbe4nkp6jsfq",\n "override_release_channel": "canary",\n "feature_preferences": {},\n "image_uri": {},\n "favorites": {},\n "email_notification_setting": {},\n "properties": []\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createNavigation`\n\nCreate 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\n`POST /v2/user/navigations`\n\n```ts\nconst { data } = await client.createNavigation(\n null,\n {\n name: \'Sales Team Navigation\',\n configuration: {\n customer_relations: [\n {\n key: \'dashboard\'\n },\n {\n key: \'contact\'\n }\n ],\n configurations: [\n {\n name: \'Product Catalog\',\n subItems: [\n {\n key: \'product\'\n },\n {\n key: \'price\'\n }\n ]\n },\n {\n key: \'journey\'\n }\n ]\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "5gbe4nkp6jsfq",\n "name": "Sales Team Navigation",\n "configuration": {\n "customer_relations": [\n {\n "key": "dashboard"\n },\n {\n "key": "contact"\n }\n ],\n "configurations": [\n {\n "name": "Product Catalog",\n "subItems": [\n {\n "key": "product"\n },\n {\n "key": "price"\n }\n ]\n },\n {\n "key": "journey"\n }\n ]\n }\n}\n```\n\n</details>\n\n---\n\n### `getNavigation`\n\nGet a navigation configuration by ID\n\n`GET /v2/user/navigations/{id}`\n\n```ts\nconst { data } = await client.getNavigation({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "5gbe4nkp6jsfq",\n "name": "Sales Team Navigation",\n "configuration": {\n "customer_relations": [\n {\n "key": "dashboard"\n },\n {\n "key": "contact"\n }\n ],\n "configurations": [\n {\n "name": "Product Catalog",\n "subItems": [\n {\n "key": "product"\n },\n {\n "key": "price"\n }\n ]\n },\n {\n "key": "journey"\n }\n ]\n }\n}\n```\n\n</details>\n\n---\n\n### `verifyEmailWithToken`\n\nUpdate new email using an verification token\n\n`POST /v2/users/public/verifyEmail`\n\n```ts\nconst { data } = await client.verifyEmailWithToken(\n {\n token: \'example\',\n },\n {\n password: \'AKjhdakjsdh@!34\'\n },\n)\n```\n\n---\n\n### `checkInviteToken`\n\nCheck an invite token\n\n`GET /v2/users/public/checkToken`\n\n```ts\nconst { data } = await client.checkInviteToken({\n token: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "invitation_org_id": "string",\n "invitation_org_name": "string",\n "invitation_org_logo_url": "string",\n "invitation_org_logo_thumbnail_url": "string",\n "invitee_user_id": "string",\n "invitee_primary_org_id": "string"\n}\n```\n\n</details>\n\n---\n\n### `activateUser`\n\nActivate user using an invite token\n\n`POST /v2/users/public/activate`\n\n```ts\nconst { data } = await client.activateUser(\n {\n token: \'example\',\n },\n {\n display_name: \'Example User\',\n password: \'AKjhdakjsdh@!34\'\n },\n)\n```\n\n---\n\n### `rejectInvite`\n\nReject an invite\n\n`DELETE /v2/users/public/reject`\n\n```ts\nconst { data } = await client.rejectInvite({\n token: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "success": true\n}\n```\n\n</details>\n\n---\n\n### `getUserLoginParametersV2`\n\nGet user organization login parameters by username\n\n`GET /v2/users/public/username/{username}:getLoginParameters`\n\n```ts\nconst { data } = await client.getUserLoginParametersV2({\n username: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "login_parameters": [\n {\n "organization_id": "123",\n "organization_name": "epilot GmbH",\n "organization_type": "Vendor",\n "organization_use": "Production",\n "cognito_region": "eu-central-1",\n "cognito_user_pool_id": "eu-central-sample",\n "cognito_user_pool_client_id": "asbkh213ehkquwhdi",\n "cognito_oauth_domain": "epilot-org-123",\n "cognito_oauth_scopes": ["openid"],\n "oauth_response_type": "code",\n "passkey_enabled": true\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `beginPasskeyAuthentication`\n\nBegin passkey authentication flow. Returns WebAuthn options and a signed challenge token.\n\n`POST /v2/users/public/passkeys:authenticateBegin`\n\n```ts\nconst { data } = await client.beginPasskeyAuthentication(\n null,\n {\n email: \'user@example.com\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "options": {},\n "challenge_token": "string"\n}\n```\n\n</details>\n\n---\n\n### `beginDiscoverablePasskeyAuthentication`\n\nBegin discoverable passkey authentication flow (no email required). Returns WebAuthn options with empty allowCredentials for the browser credential picker.\n\n`POST /v2/users/public/passkeys:authenticateBeginDiscoverable`\n\n```ts\nconst { data } = await client.beginDiscoverablePasskeyAuthentication()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "options": {},\n "challenge_token": "string"\n}\n```\n\n</details>\n\n---\n\n### `resolveDiscoverableCredential`\n\nResolve user identity from a discoverable passkey assertion. Returns the user\'s email and login parameters.\n\n`POST /v2/users/public/passkeys:resolveCredential`\n\n```ts\nconst { data } = await client.resolveDiscoverableCredential(\n null,\n {\n challenge_token: \'string\',\n assertion_response: {}\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "email": "user@example.com",\n "organization_id": "string",\n "user_id": "string",\n "login_parameters": [\n {\n "organization_id": "123",\n "organization_name": "epilot GmbH",\n "organization_type": "Vendor",\n "organization_use": "Production",\n "cognito_region": "eu-central-1",\n "cognito_user_pool_id": "eu-central-sample",\n "cognito_user_pool_client_id": "asbkh213ehkquwhdi",\n "cognito_oauth_domain": "epilot-org-123",\n "cognito_oauth_scopes": ["openid"],\n "oauth_response_type": "code",\n "passkey_enabled": true\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `beginPasskeyRegistration`\n\nBegin passkey registration flow for the authenticated user.\n\n`POST /v2/users/me/passkeys:registerBegin`\n\n```ts\nconst { data } = await client.beginPasskeyRegistration(\n null,\n {\n friendly_name: \'My Laptop\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "options": {},\n "challenge_token": "string"\n}\n```\n\n</details>\n\n---\n\n### `completePasskeyRegistration`\n\nComplete passkey registration by verifying the attestation response.\n\n`POST /v2/users/me/passkeys:registerComplete`\n\n```ts\nconst { data } = await client.completePasskeyRegistration(\n null,\n {\n challenge_token: \'string\',\n registration_response: {},\n friendly_name: \'My Laptop\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "credential_id": "string",\n "friendly_name": "My Laptop",\n "created_at": "1970-01-01T00:00:00.000Z",\n "transports": ["string"],\n "aaguid": "string"\n}\n```\n\n</details>\n\n---\n\n### `listPasskeys`\n\nList all passkeys registered for the authenticated user.\n\n`GET /v2/users/me/passkeys`\n\n```ts\nconst { data } = await client.listPasskeys()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "passkeys": [\n {\n "credential_id": "string",\n "friendly_name": "My Laptop",\n "created_at": "1970-01-01T00:00:00.000Z",\n "transports": ["string"],\n "aaguid": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `deletePasskey`\n\nDelete a passkey by credential ID.\n\n`DELETE /v2/users/me/passkeys/{credentialId}`\n\n```ts\nconst { data } = await client.deletePasskey({\n credentialId: \'example\',\n})\n```\n\n---\n\n### `switchOrganization`\n\nSwitch to another organization the user is part of\n\n`POST /v2/users/switchOrganization`\n\n```ts\nconst { data } = await client.switchOrganization(\n null,\n {\n org_id: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "login_token": "string"\n}\n```\n\n</details>\n\n---\n\n### `getMe`\n\nGet currently logged in user\n\n`GET /v1/users/me`\n\n```ts\nconst { data } = await client.getMe()\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "organization_id": "string",\n "email": "user@example.com",\n "display_name": "Example user",\n "name": "Example user",\n "preferred_language": "de",\n "signature": "<p>Thanks</p>",\n "custom_navigation": "5gbe4nkp6jsfq",\n "roles": ["Owner"],\n "image_uri": {\n "original": "https://account-profile-images.epilot.cloud/1/avatar.png",\n "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"\n },\n "properties": [\n {\n "name": "profileImageName",\n "value": "avatar.png"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `listUsers`\n\nLists users in organizations you have access to\n\n`GET /v1/users`\n\n```ts\nconst { data } = await client.listUsers({\n org_ids: [\'...\'],\n query: \'example\',\n limit: 1,\n offset: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "users": [\n {\n "id": "string",\n "organization_id": "string",\n "email": "user@example.com",\n "display_name": "Example user",\n "name": "Example user",\n "preferred_language": "de",\n "signature": "<p>Thanks</p>",\n "custom_navigation": "5gbe4nkp6jsfq",\n "roles": ["Owner"],\n "image_uri": {\n "original": "https://account-profile-images.epilot.cloud/1/avatar.png",\n "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"\n },\n "properties": [\n {\n "name": "profileImageName",\n "value": "avatar.png"\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getUser`\n\nGet user by id\n\n`GET /v1/users/{id}`\n\n```ts\nconst { data } = await client.getUser({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "organization_id": "string",\n "email": "user@example.com",\n "display_name": "Example user",\n "name": "Example user",\n "preferred_language": "de",\n "signature": "<p>Thanks</p>",\n "custom_navigation": "5gbe4nkp6jsfq",\n "roles": ["Owner"],\n "image_uri": {\n "original": "https://account-profile-images.epilot.cloud/1/avatar.png",\n "thumbnail_32": "https://account-profile-images.epilot.cloud/1/avatar_32x32.png"\n },\n "properties": [\n {\n "name": "profileImageName",\n "value": "avatar.png"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getUserLoginParameters`\n\nGet user organization login parameters by username\n\n`GET /v1/users/username/{username}:getLoginParameters`\n\n```ts\nconst { data } = await client.getUserLoginParameters({\n username: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "login_parameters": [\n {\n "organization_id": "123",\n "organization_name": "epilot GmbH",\n "organization_type": "Vendor",\n "organization_use": "Production",\n "cognito_region": "eu-central-1",\n "cognito_user_pool_id": "eu-central-sample",\n "cognito_user_pool_client_id": "asbkh213ehkquwhdi",\n "cognito_oauth_domain": "epilot-org-123",\n "cognito_oauth_scopes": ["openid"],\n "oauth_response_type": "code",\n "passkey_enabled": true\n }\n ]\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `NavigationId`\n\nNavigation unique identifier - a hash of the normalized navigation payload (name + configuration). Identical navigations across orgs will have the same ID.\n\n```ts\ntype NavigationId = string\n```\n\n### `Navigation`\n\nA customized workplace navigation configuration. The ID is a content-hash, so identical configurations will have the same ID.\n\n```ts\ntype Navigation = {\n id: string\n name: string\n configuration: Record<string, Array<{\n key: string\n } | {\n name: string\n subItems: Array<{\n key: { ... }\n }>\n }>>\n}\n```\n\n### `NavigationCreateRequest`\n\nRequest payload to create a new navigation configuration\n\n```ts\ntype NavigationCreateRequest = {\n name: string\n configuration: Record<string, Array<{\n key: string\n } | {\n name: string\n subItems: Array<{\n key: { ... }\n }>\n }>>\n}\n```\n\n### `NavigationConfiguration`\n\nNavigation configuration organized by sections. Each section contains an array of navigation items.\n\n\n```ts\ntype NavigationConfiguration = Record<string, Array<{\n key: string\n} | {\n name: string\n subItems: Array<{\n key: string\n }>\n}>>\n```\n\n### `NavigationItem`\n\nA navigation item - either a simple key item or a group with sub-items\n\n```ts\ntype NavigationItem = {\n key: string\n} | {\n name: string\n subItems: Array<{\n key: string\n }>\n}\n```\n\n### `NavigationKeyItem`\n\nA simple navigation item with a key\n\n```ts\ntype NavigationKeyItem = {\n key: string\n}\n```\n\n### `NavigationGroupItem`\n\nA navigation group containing sub-items\n\n```ts\ntype NavigationGroupItem = {\n name: string\n subItems: Array<{\n key: string\n }>\n}\n```\n\n### `InviteToken`\n\nToken used to invite a user to epilot\n\n```ts\ntype InviteToken = string\n```\n\n### `PartnerInvitationToken`\n\nToken used to invite a partner user to epilot\n\n```ts\ntype PartnerInvitationToken = string\n```\n\n### `VerificationToken`\n\n```ts\ntype VerificationToken = string\n```\n\n### `GroupId`\n\nGroup unique identifier\n\n```ts\ntype GroupId = string\n```\n\n### `UserId`\n\nUser\'s unique identifier\n\n```ts\ntype UserId = string\n```\n\n### `Query`\n\n```ts\ntype Query = string\n```\n\n### `OrganizationId`\n\n```ts\ntype OrganizationId = string\n```\n\n### `Limit`\n\n```ts\ntype Limit = number\n```\n\n### `Offset`\n\n```ts\ntype Offset = number\n```\n\n### `Hydrate`\n\n```ts\ntype Hydrate = boolean\n```\n\n### `Username`\n\n```ts\ntype Username = string\n```\n\n### `UserInvitationPayload`\n\n```ts\ntype UserInvitationPayload = {\n email?: string\n language?: "en" | "de"\n roles?: string[]\n}\n```\n\n### `UserActivationPayload`\n\n```ts\ntype UserActivationPayload = {\n display_name?: string\n password?: string\n}\n```\n\n### `UserVerificationPayload`\n\n```ts\ntype UserVerificationPayload = {\n password?: string\n}\n```\n\n### `UserV2`\n\n```ts\ntype UserV2 = {\n id?: string\n organization_id?: string\n created_at?: string // date-time\n activated_at?: string // date-time\n display_name?: string\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n email?: string // email\n draft_email?: string // email\n department?: string\n phone?: string\n secondary_phone?: string\n mfa_enabled?: boolean\n phone_verified?: boolean\n token?: string\n signature?: string\n is_signature_enabled?: boolean\n preferred_language?: string\n custom_start_page?: string\n custom_navigation?: string\n override_release_channel?: "canary" | "rc" | "stable" | null\n feature_preferences?: Record<string, unknown>\n image_uri?: {\n original?: string // uri\n thumbnail_32?: string // uri\n }\n favorites?: Record<string, unknown>\n email_notification_setting?: Record<string, unknown>\n properties?: Array<{\n name: string\n value: string\n }>\n}\n```\n\n### `User`\n\n```ts\ntype User = {\n id: string\n organization_id: string\n email: string // email\n display_name?: string\n name: string\n preferred_language: string\n signature?: string\n custom_navigation?: string\n roles: string[]\n image_uri?: {\n original?: string // uri\n thumbnail_32?: string // uri\n }\n properties: Array<{\n name: string\n value: string\n }>\n}\n```\n\n### `LoginParameters`\n\n```ts\ntype LoginParameters = {\n organization_id?: string\n organization_name?: string\n organization_type?: string\n organization_use?: string\n cognito_region?: string\n cognito_user_pool_id?: string\n cognito_user_pool_client_id?: string\n cognito_oauth_domain?: string\n cognito_oauth_scopes?: string[]\n oauth_response_type?: "code" | "token"\n passkey_enabled?: boolean\n}\n```\n\n### `CreateGroupReq`\n\n```ts\ntype CreateGroupReq = {\n name: string\n user_ids?: string[]\n}\n```\n\n### `UpdateGroupReq`\n\n```ts\ntype UpdateGroupReq = {\n name?: string\n user_ids?: string[]\n}\n```\n\n### `Group`\n\n```ts\ntype Group = {\n id: string\n org_id: string\n name: string\n created_at: string\n updated_at: string\n created_by?: string\n crt_assignee?: {\n id?: string\n organization_id?: string\n created_at?: string // date-time\n activated_at?: string // date-time\n display_name?: string\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n email?: string // email\n draft_email?: string // email\n department?: string\n phone?: string\n secondary_phone?: string\n mfa_enabled?: boolean\n phone_verified?: boolean\n token?: string\n signature?: string\n is_signature_enabled?: boolean\n preferred_language?: string\n custom_start_page?: string\n custom_navigation?: string\n override_release_channel?: "canary" | "rc" | "stable" | null\n feature_preferences?: Record<string, unknown>\n image_uri?: {\n original?: { ... }\n thumbnail_32?: { ... }\n }\n favorites?: Record<string, unknown>\n email_notification_setting?: Record<string, unknown>\n properties?: Array<{\n name: { ... }\n value: { ... }\n }>\n crt_index?: number\n }\n users?: Array<{\n id?: string\n organization_id?: string\n created_at?: string // date-time\n activated_at?: string // date-time\n display_name?: string\n status?: "Active" | "Pending" | "Deactivated" | "Deleted"\n email?: string // email\n draft_email?: string // email\n department?: string\n phone?: string\n secondary_phone?: string\n mfa_enabled?: boolean\n phone_verified?: boolean\n token?: string\n signature?: string\n is_signature_enabled?: boolean\n preferred_language?: string\n custom_start_page?: string\n custom_navigation?: string\n override_release_channel?: "canary" | "rc" | "stable" | null\n feature_preferences?: Record<string, unknown>\n image_uri?: {\n original?: { ... }\n thumbnail_32?: { ... }\n }\n favorites?: Record<string, unknown>\n email_notification_setting?: Record<string, unknown>\n properties?: Array<{\n name: { ... }\n value: { ... }\n }>\n }>\n}\n```\n\n### `SignupUserPayload`\n\n```ts\ntype SignupUserPayload = {\n organization_detail?: {\n type: "Vendor" | "Partner"\n name: string\n pricing_tier: string\n email: string\n phone?: string\n website?: string\n is_privacy_policy_checked?: boolean\n is_terms_and_conditions_checked?: boolean\n }\n user_detail?: {\n full_name: string\n email: string // email\n password: string\n }\n language?: "en" | "de"\n}\n```\n\n### `OrganizationDetail`\n\n```ts\ntype OrganizationDetail = {\n type: "Vendor" | "Partner"\n name: string\n pricing_tier: string\n email: string\n phone?: string\n website?: string\n is_privacy_policy_checked?: boolean\n is_terms_and_conditions_checked?: boolean\n}\n```\n\n### `CognitoDetails`\n\n```ts\ntype CognitoDetails = {\n cognito_region?: string\n cognito_user_pool_id?: string\n cognito_user_pool_client_id?: string\n cognito_user_pool_arn?: string\n}\n```\n\n### `UserDetail`\n\n```ts\ntype UserDetail = {\n full_name: string\n email: string // email\n password: string\n}\n```\n\n### `Organization`\n\n```ts\ntype Organization = {\n id?: string\n type?: "Vendor" | "Partner"\n name?: string\n signature?: string\n symbol?: string\n pricing_tier?: string\n email?: string\n phone?: string\n website?: string\n address?: {\n country?: string\n city?: string\n postal_code?: string\n street?: string\n street_number?: string\n }\n logo_url?: string\n logo_thumbnail_url?: string\n is_unlicensed_org?: boolean\n cognito_details?: {\n cognito_region?: string\n cognito_user_pool_id?: string\n cognito_user_pool_client_id?: string\n cognito_user_pool_arn?: string\n }\n}\n```\n\n### `DataPointsResponse`\n\n```ts\ntype DataPointsResponse = Array<{\n id?: number\n actual_users?: number\n max_users_last_month?: number\n non_billable_users_last_month?: number\n}>\n```\n\n### `DataPoint`\n\n```ts\ntype DataPoint = {\n id?: number\n actual_users?: number\n max_users_last_month?: number\n non_billable_users_last_month?: number\n}\n```\n\n### `Passkey`\n\n```ts\ntype Passkey = {\n credential_id?: string\n friendly_name?: string\n created_at?: string // date-time\n transports?: string[]\n aaguid?: string\n}\n```\n\n### `PasskeyAuthenticationOptions`\n\n```ts\ntype PasskeyAuthenticationOptions = {\n options?: object\n challenge_token?: string\n}\n```\n\n### `PasskeyRegistrationOptions`\n\n```ts\ntype PasskeyRegistrationOptions = {\n options?: object\n challenge_token?: string\n}\n```\n\n### `PasskeyRegistrationResponse`\n\n```ts\ntype PasskeyRegistrationResponse = {\n challenge_token: string\n registration_response: object\n friendly_name?: string\n}\n```\n';
5
- export {
6
- user_default as default
7
- };