@epilot/sdk 2.20.9 → 2.20.11

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 (262) hide show
  1. package/dist/apis/access-token.cjs +6 -6
  2. package/dist/apis/access-token.js +1 -1
  3. package/dist/apis/address-suggestions.cjs +6 -6
  4. package/dist/apis/address-suggestions.js +1 -1
  5. package/dist/apis/address.cjs +6 -6
  6. package/dist/apis/address.js +1 -1
  7. package/dist/apis/ai-agents.cjs +6 -6
  8. package/dist/apis/ai-agents.js +1 -1
  9. package/dist/apis/app.cjs +6 -6
  10. package/dist/apis/app.js +1 -1
  11. package/dist/apis/audit-logs.cjs +6 -6
  12. package/dist/apis/audit-logs.js +1 -1
  13. package/dist/apis/automation.cjs +6 -6
  14. package/dist/apis/automation.js +1 -1
  15. package/dist/apis/billing.cjs +6 -6
  16. package/dist/apis/billing.js +1 -1
  17. package/dist/apis/blueprint-manifest.cjs +6 -6
  18. package/dist/apis/blueprint-manifest.js +1 -1
  19. package/dist/apis/calendar.cjs +6 -6
  20. package/dist/apis/calendar.js +1 -1
  21. package/dist/apis/configuration-hub.cjs +6 -6
  22. package/dist/apis/configuration-hub.js +1 -1
  23. package/dist/apis/consent.cjs +6 -6
  24. package/dist/apis/consent.js +1 -1
  25. package/dist/apis/customer-portal.cjs +6 -6
  26. package/dist/apis/customer-portal.js +1 -1
  27. package/dist/apis/dashboard.cjs +6 -6
  28. package/dist/apis/dashboard.js +1 -1
  29. package/dist/apis/data-governance.cjs +6 -6
  30. package/dist/apis/data-governance.js +1 -1
  31. package/dist/apis/deduplication.cjs +6 -6
  32. package/dist/apis/deduplication.js +1 -1
  33. package/dist/apis/design.cjs +6 -6
  34. package/dist/apis/design.js +1 -1
  35. package/dist/apis/document.cjs +6 -6
  36. package/dist/apis/document.js +1 -1
  37. package/dist/apis/email-settings.cjs +6 -6
  38. package/dist/apis/email-settings.js +1 -1
  39. package/dist/apis/email-template.cjs +6 -6
  40. package/dist/apis/email-template.js +1 -1
  41. package/dist/apis/entity-mapping.cjs +6 -6
  42. package/dist/apis/entity-mapping.js +1 -1
  43. package/dist/apis/entity.cjs +24 -6
  44. package/dist/apis/entity.d.cts +15 -1
  45. package/dist/apis/entity.d.ts +15 -1
  46. package/dist/apis/entity.js +19 -1
  47. package/dist/apis/environments.cjs +6 -6
  48. package/dist/apis/environments.js +1 -1
  49. package/dist/apis/event-catalog.cjs +8 -8
  50. package/dist/apis/event-catalog.d.cts +2 -2
  51. package/dist/apis/event-catalog.d.ts +2 -2
  52. package/dist/apis/event-catalog.js +2 -2
  53. package/dist/apis/file.cjs +8 -8
  54. package/dist/apis/file.d.cts +2 -2
  55. package/dist/apis/file.d.ts +2 -2
  56. package/dist/apis/file.js +2 -2
  57. package/dist/apis/iban.cjs +6 -6
  58. package/dist/apis/iban.js +1 -1
  59. package/dist/apis/integration-toolkit.cjs +6 -6
  60. package/dist/apis/integration-toolkit.js +1 -1
  61. package/dist/apis/journey.cjs +8 -8
  62. package/dist/apis/journey.d.cts +2 -2
  63. package/dist/apis/journey.d.ts +2 -2
  64. package/dist/apis/journey.js +2 -2
  65. package/dist/apis/kanban.cjs +6 -6
  66. package/dist/apis/kanban.js +1 -1
  67. package/dist/apis/message.cjs +6 -6
  68. package/dist/apis/message.js +1 -1
  69. package/dist/apis/metering.cjs +6 -6
  70. package/dist/apis/metering.js +1 -1
  71. package/dist/apis/notes.cjs +6 -6
  72. package/dist/apis/notes.js +1 -1
  73. package/dist/apis/notification.cjs +6 -6
  74. package/dist/apis/notification.js +1 -1
  75. package/dist/apis/organization.cjs +6 -6
  76. package/dist/apis/organization.js +1 -1
  77. package/dist/apis/partner-directory.cjs +6 -6
  78. package/dist/apis/partner-directory.js +1 -1
  79. package/dist/apis/permissions.cjs +6 -6
  80. package/dist/apis/permissions.js +1 -1
  81. package/dist/apis/pricing-tier.cjs +6 -6
  82. package/dist/apis/pricing-tier.js +1 -1
  83. package/dist/apis/pricing.cjs +6 -27
  84. package/dist/apis/pricing.d.cts +1 -13
  85. package/dist/apis/pricing.d.ts +1 -13
  86. package/dist/apis/pricing.js +1 -22
  87. package/dist/apis/purpose.cjs +6 -6
  88. package/dist/apis/purpose.js +1 -1
  89. package/dist/apis/query.cjs +6 -6
  90. package/dist/apis/query.js +1 -1
  91. package/dist/apis/sandbox.cjs +6 -6
  92. package/dist/apis/sandbox.js +1 -1
  93. package/dist/apis/sharing.cjs +6 -6
  94. package/dist/apis/sharing.js +1 -1
  95. package/dist/apis/snapshot.cjs +6 -6
  96. package/dist/apis/snapshot.js +1 -1
  97. package/dist/apis/submission.cjs +6 -6
  98. package/dist/apis/submission.js +1 -1
  99. package/dist/apis/target.cjs +6 -6
  100. package/dist/apis/target.js +1 -1
  101. package/dist/apis/targeting.cjs +6 -6
  102. package/dist/apis/targeting.js +1 -1
  103. package/dist/apis/template-variables.cjs +6 -6
  104. package/dist/apis/template-variables.js +1 -1
  105. package/dist/apis/user.cjs +6 -6
  106. package/dist/apis/user.js +1 -1
  107. package/dist/apis/validation-rules.cjs +6 -6
  108. package/dist/apis/validation-rules.js +1 -1
  109. package/dist/apis/webhooks.cjs +6 -6
  110. package/dist/apis/webhooks.js +1 -1
  111. package/dist/apis/workflow-definition.cjs +6 -6
  112. package/dist/apis/workflow-definition.js +1 -1
  113. package/dist/apis/workflow.cjs +6 -6
  114. package/dist/apis/workflow.js +1 -1
  115. package/dist/chunk-2Q6CNXJ2.cjs +14 -0
  116. package/dist/{chunk-5S2PEECD.cjs → chunk-424JLS5G.cjs} +1 -1
  117. package/dist/chunk-FGQBS7TA.js +14 -0
  118. package/dist/chunk-HL4MZXEK.js +14 -0
  119. package/dist/chunk-LTCN52JS.js +14 -0
  120. package/dist/{chunk-VCD3C4UW.cjs → chunk-QZH7QNNP.cjs} +6 -6
  121. package/dist/{chunk-JBFTKLP2.js → chunk-SMERBU2T.js} +6 -6
  122. package/dist/chunk-W6R2J6KQ.cjs +14 -0
  123. package/dist/event-catalog-S4OYTDIB.js +7 -0
  124. package/dist/event-catalog-Z6BO4L2G.cjs +7 -0
  125. package/dist/{event-catalog-runtime-AME244T7.cjs → event-catalog-runtime-XWSYNUGQ.cjs} +2 -2
  126. package/dist/{event-catalog-runtime-Q3MKEDG4.js → event-catalog-runtime-Z6OMHQBD.js} +1 -1
  127. package/dist/{event-catalog.d-Bd2wmtlZ.d.ts → event-catalog.d-CCE1qmBN.d.cts} +105 -22
  128. package/dist/{event-catalog.d-Bd2wmtlZ.d.cts → event-catalog.d-CCE1qmBN.d.ts} +105 -22
  129. package/dist/file-LFOTXMRJ.cjs +7 -0
  130. package/dist/file-ND2JH5EM.js +7 -0
  131. package/dist/file-runtime-JL2IZ2CE.cjs +5 -0
  132. package/dist/{file-runtime-423SISQ2.js → file-runtime-RS4DX5LB.js} +1 -1
  133. package/dist/{file.d-CBsXF4W8.d.ts → file.d-DELNV63w.d.cts} +340 -9
  134. package/dist/{file.d-CBsXF4W8.d.cts → file.d-DELNV63w.d.ts} +340 -9
  135. package/dist/index.cjs +14 -14
  136. package/dist/index.d.cts +3 -3
  137. package/dist/index.d.ts +3 -3
  138. package/dist/index.js +4 -4
  139. package/dist/journey-FNWHSZW3.js +7 -0
  140. package/dist/journey-FUJDOH5O.cjs +7 -0
  141. package/dist/{journey-runtime-PAJVCFMZ.cjs → journey-runtime-EFWGEDUE.cjs} +2 -2
  142. package/dist/{journey-runtime-33QDS2WK.js → journey-runtime-VCADGDRV.js} +1 -1
  143. package/dist/{journey.d-bxl2l7qg.d.cts → journey.d-6Bs1uNLT.d.cts} +1062 -14
  144. package/dist/{journey.d-bxl2l7qg.d.ts → journey.d-6Bs1uNLT.d.ts} +1062 -14
  145. package/docs/event-catalog.md +155 -5
  146. package/docs/file.md +272 -0
  147. package/docs/journey.md +676 -0
  148. package/package.json +1 -1
  149. package/definitions/access-token-runtime.json +0 -1
  150. package/definitions/access-token.json +0 -835
  151. package/definitions/address-runtime.json +0 -1
  152. package/definitions/address-suggestions-runtime.json +0 -1
  153. package/definitions/address-suggestions.json +0 -582
  154. package/definitions/address.json +0 -578
  155. package/definitions/ai-agents-runtime.json +0 -1
  156. package/definitions/ai-agents.json +0 -2863
  157. package/definitions/app-runtime.json +0 -1
  158. package/definitions/app.json +0 -5993
  159. package/definitions/audit-logs-runtime.json +0 -1
  160. package/definitions/audit-logs.json +0 -305
  161. package/definitions/automation-runtime.json +0 -1
  162. package/definitions/automation.json +0 -5889
  163. package/definitions/billing-runtime.json +0 -1
  164. package/definitions/billing.json +0 -2394
  165. package/definitions/blueprint-manifest-runtime.json +0 -1
  166. package/definitions/blueprint-manifest.json +0 -7817
  167. package/definitions/calendar-runtime.json +0 -1
  168. package/definitions/calendar.json +0 -2904
  169. package/definitions/configuration-hub-runtime.json +0 -1
  170. package/definitions/configuration-hub.json +0 -2250
  171. package/definitions/consent-runtime.json +0 -1
  172. package/definitions/consent.json +0 -344
  173. package/definitions/customer-portal-runtime.json +0 -1
  174. package/definitions/customer-portal.json +0 -19945
  175. package/definitions/dashboard-runtime.json +0 -1
  176. package/definitions/dashboard.json +0 -1355
  177. package/definitions/data-governance-runtime.json +0 -1
  178. package/definitions/data-governance.json +0 -1126
  179. package/definitions/deduplication-runtime.json +0 -1
  180. package/definitions/deduplication.json +0 -782
  181. package/definitions/design-runtime.json +0 -1
  182. package/definitions/design.json +0 -1827
  183. package/definitions/document-runtime.json +0 -1
  184. package/definitions/document.json +0 -758
  185. package/definitions/email-settings-runtime.json +0 -1
  186. package/definitions/email-settings.json +0 -3736
  187. package/definitions/email-template-runtime.json +0 -1
  188. package/definitions/email-template.json +0 -1441
  189. package/definitions/entity-mapping-runtime.json +0 -1
  190. package/definitions/entity-mapping.json +0 -1829
  191. package/definitions/entity-runtime.json +0 -1
  192. package/definitions/entity.json +0 -11546
  193. package/definitions/environments-runtime.json +0 -1
  194. package/definitions/environments.json +0 -703
  195. package/definitions/event-catalog-runtime.json +0 -1
  196. package/definitions/event-catalog.json +0 -1943
  197. package/definitions/file-runtime.json +0 -1
  198. package/definitions/file.json +0 -3905
  199. package/definitions/iban-runtime.json +0 -1
  200. package/definitions/iban.json +0 -132
  201. package/definitions/integration-toolkit-runtime.json +0 -1
  202. package/definitions/integration-toolkit.json +0 -12966
  203. package/definitions/journey-runtime.json +0 -1
  204. package/definitions/journey.json +0 -3040
  205. package/definitions/kanban-runtime.json +0 -1
  206. package/definitions/kanban.json +0 -1506
  207. package/definitions/message-runtime.json +0 -1
  208. package/definitions/message.json +0 -3667
  209. package/definitions/metering-runtime.json +0 -1
  210. package/definitions/metering.json +0 -3132
  211. package/definitions/notes-runtime.json +0 -1
  212. package/definitions/notes.json +0 -1698
  213. package/definitions/notification-runtime.json +0 -1
  214. package/definitions/notification.json +0 -1439
  215. package/definitions/organization-runtime.json +0 -1
  216. package/definitions/organization.json +0 -1192
  217. package/definitions/partner-directory-runtime.json +0 -1
  218. package/definitions/partner-directory.json +0 -2284
  219. package/definitions/permissions-runtime.json +0 -1
  220. package/definitions/permissions.json +0 -1598
  221. package/definitions/pricing-runtime.json +0 -1
  222. package/definitions/pricing-tier-runtime.json +0 -1
  223. package/definitions/pricing-tier.json +0 -105
  224. package/definitions/pricing.json +0 -14301
  225. package/definitions/purpose-runtime.json +0 -1
  226. package/definitions/purpose.json +0 -524
  227. package/definitions/query-runtime.json +0 -1
  228. package/definitions/query.json +0 -3178
  229. package/definitions/sandbox-runtime.json +0 -1
  230. package/definitions/sandbox.json +0 -453
  231. package/definitions/sharing-runtime.json +0 -1
  232. package/definitions/sharing.json +0 -956
  233. package/definitions/snapshot-runtime.json +0 -1
  234. package/definitions/snapshot.json +0 -1103
  235. package/definitions/submission-runtime.json +0 -1
  236. package/definitions/submission.json +0 -313
  237. package/definitions/targeting-runtime.json +0 -1
  238. package/definitions/targeting.json +0 -2285
  239. package/definitions/template-variables-runtime.json +0 -1
  240. package/definitions/template-variables.json +0 -1416
  241. package/definitions/user-runtime.json +0 -1
  242. package/definitions/user.json +0 -3051
  243. package/definitions/validation-rules-runtime.json +0 -1
  244. package/definitions/validation-rules.json +0 -2642
  245. package/definitions/webhooks-runtime.json +0 -1
  246. package/definitions/webhooks.json +0 -1875
  247. package/definitions/workflow-definition-runtime.json +0 -1
  248. package/definitions/workflow-definition.json +0 -3592
  249. package/definitions/workflow-runtime.json +0 -1
  250. package/definitions/workflow.json +0 -4669
  251. package/dist/chunk-CIKDOXDL.cjs +0 -14
  252. package/dist/chunk-EEKJGTAS.js +0 -14
  253. package/dist/chunk-IBMGFLXF.js +0 -14
  254. package/dist/chunk-MPZICOVZ.cjs +0 -14
  255. package/dist/chunk-XJUB5BYM.js +0 -14
  256. package/dist/event-catalog-4FVQZ65M.cjs +0 -7
  257. package/dist/event-catalog-PEOHXUJO.js +0 -7
  258. package/dist/file-M5HNKOPG.cjs +0 -7
  259. package/dist/file-ZUNCUDBY.js +0 -7
  260. package/dist/file-runtime-IHVDQNIX.cjs +0 -5
  261. package/dist/journey-2HHH7MLM.js +0 -7
  262. package/dist/journey-4CXKZMKV.cjs +0 -7
@@ -67,7 +67,7 @@ declare namespace Components {
67
67
  required?: boolean;
68
68
  }
69
69
  /**
70
- * Complete immutable custom-event v1.0 definition. Publication is a separate conditional action.
70
+ * Complete immutable custom-event v1.0 definition projected from a required entity graph. Publication is a separate conditional action.
71
71
  */
72
72
  export interface CreateCustomEventPayload {
73
73
  event_name: string; // ^[A-Z][A-Za-z0-9]{2,79}$
@@ -75,9 +75,9 @@ declare namespace Components {
75
75
  event_description?: string;
76
76
  event_tags?: string[];
77
77
  schema_fields: {
78
- [name: string]: /* Custom v1 fields support JSON Schema values and context entities; attachment semantics are built-in-only. */ CustomSchemaField;
78
+ [name: string]: /* Custom v1 fields support graph-projected JSON Schema values and context entities; attachment semantics are built-in-only. */ CustomSchemaField;
79
79
  };
80
- entity_graph?: /* Entity graph definition for resolving related entities */ GraphDefinition;
80
+ entity_graph: /* Entity graph definition for resolving related entities */ GraphDefinition;
81
81
  entity_operation?: /**
82
82
  * Configuration for triggering an event based on entity operations.
83
83
  *
@@ -89,23 +89,35 @@ declare namespace Components {
89
89
  */
90
90
  EntityOperationTrigger;
91
91
  automation_trigger?: boolean;
92
+ /**
93
+ * Allows API-source triggering independently of Automation (which also uses HTTP). Must be false for Automation-only events.
94
+ */
95
+ api_trigger?: boolean;
96
+ /**
97
+ * Restricts triggering to Automation with durable delivery and strict readiness. Requires automation_trigger true, api_trigger false, and no entity_operation.
98
+ */
99
+ automation_trigger_only?: boolean;
100
+ /**
101
+ * Required cardinality-one graph seed for an Automation-only event. Inherited restrictions cannot be changed.
102
+ */
103
+ automation_trigger_seed_node?: string;
92
104
  mapping?: /* Guided mappings use schema_fields graph_source expressions; raw mode evaluates one JSONata object transform. */ EventMapping;
93
- lineage?: /* Optional catalog lineage to a separately named base event. It does not replace the base event. */ CustomEventLineage;
105
+ lineage?: /* Optional catalog lineage to a separately named base event. Built-in inheritance is validated against this exact registered version; its trigger restrictions cannot be removed or replaced. It does not replace the base event. */ CustomEventLineage;
94
106
  example?: {
95
107
  [name: string]: any;
96
108
  };
97
109
  }
98
110
  /**
99
- * Optional catalog lineage to a separately named base event. It does not replace the base event.
111
+ * Optional catalog lineage to a separately named base event. Built-in inheritance is validated against this exact registered version; its trigger restrictions cannot be removed or replaced. It does not replace the base event.
100
112
  */
101
113
  export interface CustomEventLineage {
102
114
  base_event_name: string;
103
115
  base_event_version: string;
104
116
  }
105
117
  /**
106
- * Custom v1 fields support JSON Schema values and context entities; attachment semantics are built-in-only.
118
+ * Custom v1 fields support graph-projected JSON Schema values and context entities; attachment semantics are built-in-only.
107
119
  */
108
- export type CustomSchemaField = /* Custom v1 fields support JSON Schema values and context entities; attachment semantics are built-in-only. */ /* A primitive JSON Schema field definition */ PrimitiveField | ContextEntity;
120
+ export type CustomSchemaField = /* Custom v1 fields support graph-projected JSON Schema values and context entities; attachment semantics are built-in-only. */ /* A primitive JSON Schema field definition */ PrimitiveField | ContextEntity;
109
121
  /**
110
122
  * Configuration for triggering an event based on entity operations.
111
123
  *
@@ -141,6 +153,8 @@ declare namespace Components {
141
153
  * - On createEntity: attribute must be defined in the entity payload
142
154
  * - On updateEntity: attribute must be in diff.added, diff.updated, or diff.deleted
143
155
  * If not specified, all changes to matching entities will trigger the event.
156
+ * Derived built-in triggers retain every inherited attribute; additions are OR alternatives.
157
+ * An inherited unfiltered trigger cannot be narrowed by adding attribute filters.
144
158
  *
145
159
  * example:
146
160
  * [
@@ -154,7 +168,10 @@ declare namespace Components {
154
168
  * Optional list of purpose names to filter by.
155
169
  * The entity must have at least one matching purpose in its _purpose array.
156
170
  * Purpose names are matched against the taxonomy classification names (e.g., "Kündigung", "Umzug/Auszug").
157
- * If not specified, the event triggers regardless of entity purpose.
171
+ * For custom events, names are allowed only when inherited unchanged from the actual
172
+ * pinned built-in lineage version. New purposes must use stable purpose_filters IDs.
173
+ * Names and stable IDs are OR alternatives; operation/schema/attribute conditions still apply.
174
+ * If neither purpose nor purpose_filters is specified, the event triggers regardless of purpose.
158
175
  *
159
176
  * example:
160
177
  * [
@@ -164,7 +181,7 @@ declare namespace Components {
164
181
  */
165
182
  purpose?: string[];
166
183
  /**
167
- * Stable purpose IDs plus immutable display-name snapshots for custom events.
184
+ * Stable purpose IDs plus immutable display-name snapshots for custom events. Additive to inherited purpose names (OR). Inherited unfiltered triggers cannot be narrowed.
168
185
  */
169
186
  purpose_filters?: PurposeFilterSnapshot[];
170
187
  }
@@ -392,6 +409,8 @@ declare namespace Components {
392
409
  * - On createEntity: attribute must be defined in the entity payload
393
410
  * - On updateEntity: attribute must be in diff.added, diff.updated, or diff.deleted
394
411
  * If not specified, all changes to matching entities will trigger the event.
412
+ * Derived built-in triggers retain every inherited attribute; additions are OR alternatives.
413
+ * An inherited unfiltered trigger cannot be narrowed by adding attribute filters.
395
414
  *
396
415
  * example:
397
416
  * [
@@ -405,7 +424,10 @@ declare namespace Components {
405
424
  * Optional list of purpose names to filter by.
406
425
  * The entity must have at least one matching purpose in its _purpose array.
407
426
  * Purpose names are matched against the taxonomy classification names (e.g., "Kündigung", "Umzug/Auszug").
408
- * If not specified, the event triggers regardless of entity purpose.
427
+ * For custom events, names are allowed only when inherited unchanged from the actual
428
+ * pinned built-in lineage version. New purposes must use stable purpose_filters IDs.
429
+ * Names and stable IDs are OR alternatives; operation/schema/attribute conditions still apply.
430
+ * If neither purpose nor purpose_filters is specified, the event triggers regardless of purpose.
409
431
  *
410
432
  * example:
411
433
  * [
@@ -415,7 +437,7 @@ declare namespace Components {
415
437
  */
416
438
  purpose?: string[];
417
439
  /**
418
- * Stable purpose IDs plus immutable display-name snapshots for custom events.
440
+ * Stable purpose IDs plus immutable display-name snapshots for custom events. Additive to inherited purpose names (OR). Inherited unfiltered triggers cannot be narrowed.
419
441
  */
420
442
  purpose_filters?: PurposeFilterSnapshot[];
421
443
  };
@@ -450,6 +472,10 @@ declare namespace Components {
450
472
  * true
451
473
  */
452
474
  automation_trigger?: boolean;
475
+ /**
476
+ * Allows explicit API-source triggering, not HTTP transport. Automation also uses HTTP. Automation-only events always disable this source.
477
+ */
478
+ api_trigger?: boolean;
453
479
  /**
454
480
  * Whether explicit triggering is restricted to Automation. When true, callers must pass
455
481
  * `_trigger_source_type: automation` and a stable `_trigger_source`. The trigger uses
@@ -473,7 +499,7 @@ declare namespace Components {
473
499
  */
474
500
  event_origin?: "builtin" | "custom";
475
501
  mapping?: /* Guided mappings use schema_fields graph_source expressions; raw mode evaluates one JSONata object transform. */ EventMapping;
476
- lineage?: /* Optional catalog lineage to a separately named base event. It does not replace the base event. */ CustomEventLineage;
502
+ lineage?: /* Optional catalog lineage to a separately named base event. Built-in inheritance is validated against this exact registered version; its trigger restrictions cannot be removed or replaced. It does not replace the base event. */ CustomEventLineage;
477
503
  /**
478
504
  * Org-defined success criteria for this event: the entity attributes that an
479
505
  * organization considers must be captured for an event change request to be
@@ -605,6 +631,8 @@ declare namespace Components {
605
631
  * - On createEntity: attribute must be defined in the entity payload
606
632
  * - On updateEntity: attribute must be in diff.added, diff.updated, or diff.deleted
607
633
  * If not specified, all changes to matching entities will trigger the event.
634
+ * Derived built-in triggers retain every inherited attribute; additions are OR alternatives.
635
+ * An inherited unfiltered trigger cannot be narrowed by adding attribute filters.
608
636
  *
609
637
  * example:
610
638
  * [
@@ -618,7 +646,10 @@ declare namespace Components {
618
646
  * Optional list of purpose names to filter by.
619
647
  * The entity must have at least one matching purpose in its _purpose array.
620
648
  * Purpose names are matched against the taxonomy classification names (e.g., "Kündigung", "Umzug/Auszug").
621
- * If not specified, the event triggers regardless of entity purpose.
649
+ * For custom events, names are allowed only when inherited unchanged from the actual
650
+ * pinned built-in lineage version. New purposes must use stable purpose_filters IDs.
651
+ * Names and stable IDs are OR alternatives; operation/schema/attribute conditions still apply.
652
+ * If neither purpose nor purpose_filters is specified, the event triggers regardless of purpose.
622
653
  *
623
654
  * example:
624
655
  * [
@@ -628,7 +659,7 @@ declare namespace Components {
628
659
  */
629
660
  purpose?: string[];
630
661
  /**
631
- * Stable purpose IDs plus immutable display-name snapshots for custom events.
662
+ * Stable purpose IDs plus immutable display-name snapshots for custom events. Additive to inherited purpose names (OR). Inherited unfiltered triggers cannot be narrowed.
632
663
  */
633
664
  purpose_filters?: PurposeFilterSnapshot[];
634
665
  };
@@ -663,6 +694,10 @@ declare namespace Components {
663
694
  * true
664
695
  */
665
696
  automation_trigger?: boolean;
697
+ /**
698
+ * Allows explicit API-source triggering, not HTTP transport. Automation also uses HTTP. Automation-only events always disable this source.
699
+ */
700
+ api_trigger?: boolean;
666
701
  /**
667
702
  * Whether explicit triggering is restricted to Automation. When true, callers must pass
668
703
  * `_trigger_source_type: automation` and a stable `_trigger_source`. The trigger uses
@@ -686,7 +721,7 @@ declare namespace Components {
686
721
  */
687
722
  event_origin?: "builtin" | "custom";
688
723
  mapping?: /* Guided mappings use schema_fields graph_source expressions; raw mode evaluates one JSONata object transform. */ EventMapping;
689
- lineage?: /* Optional catalog lineage to a separately named base event. It does not replace the base event. */ CustomEventLineage;
724
+ lineage?: /* Optional catalog lineage to a separately named base event. Built-in inheritance is validated against this exact registered version; its trigger restrictions cannot be removed or replaced. It does not replace the base event. */ CustomEventLineage;
690
725
  /**
691
726
  * Org-defined success criteria for this event: the entity attributes that an
692
727
  * organization considers must be captured for an event change request to be
@@ -1112,10 +1147,11 @@ declare namespace Components {
1112
1147
  */
1113
1148
  required?: boolean;
1114
1149
  /**
1115
- * Optional JSONata expression to extract the field value from the hydrated entity graph.
1150
+ * JSONata expression to extract the field value from the hydrated entity graph.
1116
1151
  *
1117
1152
  * The expression has access to all hydrated graph nodes by their node ID.
1118
- * If not specified, the field value must be provided as input when triggering the event.
1153
+ * Optional for built-in events, where an unset value must be provided as input when
1154
+ * triggering the event. Required for custom events in guided mapping mode.
1119
1155
  *
1120
1156
  * Examples:
1121
1157
  * - "ticket.meter_reading_value" (simple path)
@@ -1324,9 +1360,10 @@ declare namespace Components {
1324
1360
  node_id: string;
1325
1361
  };
1326
1362
  /**
1327
- * Input field values for the event. Keys must match the event's
1363
+ * Input field values for built-in events. Keys must match the event's
1328
1364
  * schema_fields definitions. Values are validated against each
1329
- * field's JSON Schema.
1365
+ * field's JSON Schema. Ignored for custom events, whose fields are
1366
+ * always projected from the entity graph.
1330
1367
  *
1331
1368
  */
1332
1369
  fields?: {
@@ -1438,7 +1475,7 @@ declare namespace Components {
1438
1475
  }
1439
1476
  declare namespace Paths {
1440
1477
  namespace CreateCustomEvent {
1441
- export type RequestBody = /* Complete immutable custom-event v1.0 definition. Publication is a separate conditional action. */ Components.Schemas.CreateCustomEventPayload;
1478
+ export type RequestBody = /* Complete immutable custom-event v1.0 definition projected from a required entity graph. Publication is a separate conditional action. */ Components.Schemas.CreateCustomEventPayload;
1442
1479
  namespace Responses {
1443
1480
  export type $201 = /* Event configuration with required fields */ Components.Schemas.EventConfig;
1444
1481
  export interface $409 {
@@ -1772,6 +1809,26 @@ declare namespace Paths {
1772
1809
  }
1773
1810
  }
1774
1811
  }
1812
+ namespace ReplaceCustomEventDraft {
1813
+ namespace Parameters {
1814
+ export type EventName = string;
1815
+ }
1816
+ export interface PathParameters {
1817
+ event_name: Parameters.EventName;
1818
+ }
1819
+ export type RequestBody = /* Complete immutable custom-event v1.0 definition projected from a required entity graph. Publication is a separate conditional action. */ Components.Schemas.CreateCustomEventPayload;
1820
+ namespace Responses {
1821
+ export type $200 = /* Event configuration with required fields */ Components.Schemas.EventConfig;
1822
+ export interface $400 {
1823
+ }
1824
+ export interface $404 {
1825
+ }
1826
+ export interface $409 {
1827
+ }
1828
+ export interface $422 {
1829
+ }
1830
+ }
1831
+ }
1775
1832
  namespace SearchEventHistory {
1776
1833
  namespace Parameters {
1777
1834
  export type EventName = string;
@@ -1938,7 +1995,7 @@ interface OperationMethods {
1938
1995
  /**
1939
1996
  * createCustomEvent - createCustomEvent
1940
1997
  *
1941
- * Reserve an org-scoped custom event name and persist its immutable v1.0 draft definition.
1998
+ * Reserve an org-scoped custom event name and persist its immutable v1.0 draft definition. Custom events are always projected from an entity graph: entity_graph is required and, in guided mapping mode, every schema field needs a graph_source expression. Caller-supplied trigger fields are ignored for custom events.
1942
1999
  */
1943
2000
  'createCustomEvent'(
1944
2001
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -1955,6 +2012,19 @@ interface OperationMethods {
1955
2012
  data?: any,
1956
2013
  config?: AxiosRequestConfig
1957
2014
  ): OperationResponse<Paths.GetEvent.Responses.$200>
2015
+ /**
2016
+ * replaceCustomEventDraft - replaceCustomEventDraft
2017
+ *
2018
+ * Replace the complete v1.0 definition of an org-scoped custom event while it is still an
2019
+ * unpublished draft. Drafts have no consumers, so their definition is not yet immutable;
2020
+ * the event name is the identity and cannot change. Publication remains a separate action.
2021
+ *
2022
+ */
2023
+ 'replaceCustomEventDraft'(
2024
+ parameters?: Parameters<Paths.ReplaceCustomEventDraft.PathParameters> | null,
2025
+ data?: Paths.ReplaceCustomEventDraft.RequestBody,
2026
+ config?: AxiosRequestConfig
2027
+ ): OperationResponse<Paths.ReplaceCustomEventDraft.Responses.$200>
1958
2028
  /**
1959
2029
  * patchEvent - patchEvent
1960
2030
  *
@@ -2108,7 +2178,7 @@ interface PathsDictionary {
2108
2178
  /**
2109
2179
  * createCustomEvent - createCustomEvent
2110
2180
  *
2111
- * Reserve an org-scoped custom event name and persist its immutable v1.0 draft definition.
2181
+ * Reserve an org-scoped custom event name and persist its immutable v1.0 draft definition. Custom events are always projected from an entity graph: entity_graph is required and, in guided mapping mode, every schema field needs a graph_source expression. Caller-supplied trigger fields are ignored for custom events.
2112
2182
  */
2113
2183
  'post'(
2114
2184
  parameters?: Parameters<UnknownParamsObject> | null,
@@ -2137,6 +2207,19 @@ interface PathsDictionary {
2137
2207
  data?: Paths.PatchEvent.RequestBody,
2138
2208
  config?: AxiosRequestConfig
2139
2209
  ): OperationResponse<Paths.PatchEvent.Responses.$200>
2210
+ /**
2211
+ * replaceCustomEventDraft - replaceCustomEventDraft
2212
+ *
2213
+ * Replace the complete v1.0 definition of an org-scoped custom event while it is still an
2214
+ * unpublished draft. Drafts have no consumers, so their definition is not yet immutable;
2215
+ * the event name is the identity and cannot change. Publication remains a separate action.
2216
+ *
2217
+ */
2218
+ 'put'(
2219
+ parameters?: Parameters<Paths.ReplaceCustomEventDraft.PathParameters> | null,
2220
+ data?: Paths.ReplaceCustomEventDraft.RequestBody,
2221
+ config?: AxiosRequestConfig
2222
+ ): OperationResponse<Paths.ReplaceCustomEventDraft.Responses.$200>
2140
2223
  /**
2141
2224
  * deprecateCustomEvent - deprecateCustomEvent
2142
2225
  *
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
+
3
+ // src/docs/file.json
4
+ var file_default = '# File API\n\n- **Base URL:** `https://file.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/file](https://docs.epilot.io/api/file)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.file.uploadFileV2(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/file\'\n\nconst fileClient = getClient()\nauthorize(fileClient, () => \'<token>\')\nconst { data } = await fileClient.uploadFileV2(...)\n```\n\n## Operations\n\n**File**\n- [`uploadFileV2`](#uploadfilev2)\n- [`saveFileV2`](#savefilev2)\n- [`getFile`](#getfile)\n- [`deleteFile`](#deletefile)\n- [`downloadFile`](#downloadfile)\n- [`downloadS3File`](#downloads3file)\n- [`downloadFiles`](#downloadfiles)\n- [`createZipJob`](#createzipjob)\n- [`getZipJob`](#getzipjob)\n- [`getFileSummary`](#getfilesummary)\n- [`getFileSummaryFeedback`](#getfilesummaryfeedback)\n- [`putFileSummaryFeedback`](#putfilesummaryfeedback)\n- [`createFileSummaryJob`](#createfilesummaryjob)\n- [`getCurrentFileSummaryJob`](#getcurrentfilesummaryjob)\n- [`getFileSummaryJob`](#getfilesummaryjob)\n- [`generateFileSummary`](#generatefilesummary)\n- [`getFileText`](#getfiletext)\n- [`validateFile`](#validatefile)\n- [`verifyCustomDownloadUrl`](#verifycustomdownloadurl)\n- [`uploadFilePublic`](#uploadfilepublic)\n\n**Preview**\n- [`previewFile`](#previewfile)\n- [`previewS3File`](#previews3file)\n- [`previewS3FileGet`](#previews3fileget)\n- [`previewPublicFile`](#previewpublicfile)\n\n**Session**\n- [`getSession`](#getsession)\n- [`deleteSession`](#deletesession)\n\n**Public Links**\n- [`generatePublicLink`](#generatepubliclink)\n- [`listPublicLinksForFile`](#listpubliclinksforfile)\n- [`accessPublicLink`](#accesspubliclink)\n- [`revokePublicLink`](#revokepubliclink)\n\n**File Collections**\n- [`getUserSchemaFileCollections`](#getuserschemafilecollections)\n- [`createUserSchemaFileCollection`](#createuserschemafilecollection)\n- [`updateUserSchemaFileCollection`](#updateuserschemafilecollection)\n- [`deleteUserSchemaFileCollection`](#deleteuserschemafilecollection)\n- [`getFilesInCollection`](#getfilesincollection)\n- [`getGlobalFileCollections`](#getglobalfilecollections)\n\n**Schemas**\n- [`EntityId`](#entityid)\n- [`EntitySlug`](#entityslug)\n- [`ActivityId`](#activityid)\n- [`FileEntityId`](#fileentityid)\n- [`FileAttributes`](#fileattributes)\n- [`FileType`](#filetype)\n- [`FileSummaryJobStatus`](#filesummaryjobstatus)\n- [`FileSummaryJob`](#filesummaryjob)\n- [`FileSummary`](#filesummary)\n- [`FileSummaryFeedback`](#filesummaryfeedback)\n- [`FileSummaryFeedbackResponse`](#filesummaryfeedbackresponse)\n- [`PutFileSummaryFeedbackRequest`](#putfilesummaryfeedbackrequest)\n- [`FileTextStatus`](#filetextstatus)\n- [`FileValidationRequest`](#filevalidationrequest)\n- [`FileValidationFileReference`](#filevalidationfilereference)\n- [`FileValidation`](#filevalidation)\n- [`FileValidationFile`](#filevalidationfile)\n- [`FileValidationObservation`](#filevalidationobservation)\n- [`FileValidationJudgement`](#filevalidationjudgement)\n- [`FileValidationFacts`](#filevalidationfacts)\n- [`FileValidationRuleResult`](#filevalidationruleresult)\n- [`FileValidationConditionResult`](#filevalidationconditionresult)\n- [`FileText`](#filetext)\n- [`FileTextReady`](#filetextready)\n- [`FileTextNotReady`](#filetextnotready)\n- [`FileTextUnsupported`](#filetextunsupported)\n- [`CustomDownloadUrl`](#customdownloadurl)\n- [`CustomDownloadUrlAuth`](#customdownloadurlauth)\n- [`FileEntity`](#fileentity)\n- [`CommonSaveFilePayload`](#commonsavefilepayload)\n- [`SaveS3FilePayload`](#saves3filepayload)\n- [`SaveFileFromSourceURLPayload`](#savefilefromsourceurlpayload)\n- [`SaveCustomFilePayload`](#savecustomfilepayload)\n- [`SaveFilePayload`](#savefilepayload)\n- [`SaveFilePayloadV2`](#savefilepayloadv2)\n- [`BatchSaveFileVersionPayload`](#batchsavefileversionpayload)\n- [`UploadFilePayload`](#uploadfilepayload)\n- [`FileUpload`](#fileupload)\n- [`DownloadFilesPayload`](#downloadfilespayload)\n- [`CreateZipJobPayload`](#createzipjobpayload)\n- [`ZipJob`](#zipjob)\n- [`VerifyCustomDownloadUrlPayload`](#verifycustomdownloadurlpayload)\n- [`S3Reference`](#s3reference)\n- [`S3Ref`](#s3ref)\n- [`FileItem`](#fileitem)\n- [`FileRelationItem`](#filerelationitem)\n- [`PublicLink`](#publiclink)\n- [`BaseEntityOwner`](#baseentityowner)\n- [`BaseEntityAcl`](#baseentityacl)\n- [`ErrorObject`](#errorobject)\n- [`FileCollectionId`](#filecollectionid)\n- [`FileCollectionItem`](#filecollectionitem)\n- [`FileCollectionAttributes`](#filecollectionattributes)\n- [`FileCollectionCreateRequest`](#filecollectioncreaterequest)\n\n### `uploadFileV2`\n\nCreate pre-signed S3 URL to upload a file to keep temporarily (one week).\n\n`POST /v2/files/upload`\n\n```ts\nconst { data } = await client.uploadFileV2(\n {\n file_entity_id: \'example\',\n },\n {\n filename: \'document.pdf\',\n mime_type: \'application/pdf\',\n index_tag: \'2f6a377c8e78\',\n metadata: {\n color: \'blue\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "s3ref": {\n "bucket": "epilot-prod-user-content",\n "key": "123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n },\n "upload_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n}\n```\n\n</details>\n\n---\n\n### `saveFileV2`\n\nSaves a permanent file entity. Updates an existing file entity when `_id` is passed.\n\n`POST /v2/files`\n\n```ts\nconst { data } = await client.saveFileV2(\n {\n activity_id: \'example\',\n fill_activity: true,\n strict: true,\n async: true,\n delete_temp_file: true,\n version_only: true,\n },\n {\n _id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n file_entity_id: \'string\',\n relations: [\n {\n entity_id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n _schema: \'contact\',\n _tags: [\'string\']\n }\n ],\n _tags: [\'tag1\', \'tag2\'],\n _purpose: [\'8d396871-95a0-4c9d-bb4d-9eda9c35776c\', \'da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8\'],\n _manifest: [\'123e4567-e89b-12d3-a456-426614174000\'],\n filename: \'document.pdf\',\n type: \'document\',\n mime_type: \'application/pdf\',\n size_bytes: 1234,\n readable_size: \'1.2 MB\',\n etag: \'9bb58f26192e4ba00f01e2e7b136bbd8\',\n access_control: \'private\',\n public_url: \'https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf\',\n custom_download_url: \'https://some-api-url.com/download?file_id=123\',\n custom_download_url_auth: \'token\',\n preview_summary_de: \'string\',\n short_summary_de: \'string\',\n preview_summary_en: \'string\',\n short_summary_en: \'string\',\n file_summary_execution_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n s3ref: {}\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "etag": "9bb58f26192e4ba00f01e2e7b136bbd8",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "custom_download_url_auth": "token",\n "preview_summary_de": "string",\n "short_summary_de": "string",\n "preview_summary_en": "string",\n "short_summary_en": "string",\n "file_summary_execution_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg",\n "etag": "9bb58f26192e4ba00f01e2e7b136bbd8"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `getFile`\n\nGet a file entity by id\n\n`GET /v2/files/{id}`\n\n```ts\nconst { data } = await client.getFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n source_url: true,\n strict: true,\n async: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "etag": "9bb58f26192e4ba00f01e2e7b136bbd8",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "custom_download_url_auth": "token",\n "preview_summary_de": "string",\n "short_summary_de": "string",\n "preview_summary_en": "string",\n "short_summary_en": "string",\n "file_summary_execution_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg",\n "etag": "9bb58f26192e4ba00f01e2e7b136bbd8"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `deleteFile`\n\nDelete a file entity by id\n\n`DELETE /v2/files/{id}`\n\n```ts\nconst { data } = await client.deleteFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n purge: true,\n activity_id: \'example\',\n strict: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "etag": "9bb58f26192e4ba00f01e2e7b136bbd8",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "custom_download_url_auth": "token",\n "preview_summary_de": "string",\n "short_summary_de": "string",\n "preview_summary_en": "string",\n "short_summary_en": "string",\n "file_summary_execution_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg",\n "etag": "9bb58f26192e4ba00f01e2e7b136bbd8"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `downloadFile`\n\nGenerate a pre-signed download URL for a file.\n\n`GET /v1/files/{id}/download`\n\n```ts\nconst { data } = await client.downloadFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n attachment: true,\n x-track: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123"\n}\n```\n\n</details>\n\n---\n\n### `downloadS3File`\n\nGenerate a pre-signed download URL for a file using its S3 reference.\n\n`POST /v1/files:downloadS3`\n\n```ts\nconst { data } = await client.downloadS3File({\n s3_key: \'example\',\n s3_bucket: \'example\',\n attachment: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123"\n}\n```\n\n</details>\n\n---\n\n### `downloadFiles`\n\nBulk generate pre-signed download URLs for multiple files in a single request.\n\n`POST /v1/files:downloadFiles`\n\n```ts\nconst { data } = await client.downloadFiles(\n null,\n [\n {\n id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n version: 0\n }\n ],\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "file_entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"\n }\n]\n```\n\n</details>\n\n---\n\n### `createZipJob`\n\nCreate a background job to ZIP multiple files and send a download link via email.\n\n`POST /v1/files:zipJob`\n\n```ts\nconst { data } = await client.createZipJob(\n null,\n {},\n)\n```\n\n---\n\n### `getZipJob`\n\nGet the status of a ZIP job\n\n`GET /v1/files:zipJob/{job_id}`\n\n```ts\nconst { data } = await client.getZipJob({\n job_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "job_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "status": "completed",\n "progress": {\n "total_files": 100,\n "downloaded_files": 75,\n "failed_files": 2\n },\n "result": {\n "file_entity_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/files.zip?X-Amz-...",\n "expires_at": "2024-01-02T12:00:00Z",\n "zip_size_bytes": 104857600\n },\n "error": "Failed to download file: access denied",\n "created_at": "2024-01-01T12:00:00Z",\n "created_by": "10234",\n "org_id": "123",\n "updated_at": "2024-01-01T12:05:00Z"\n}\n```\n\n</details>\n\n---\n\n### `getFileSummary`\n\nGet summary text for a file entity together with the current summary job status when available.\n\n`GET /v1/files/{id}/summary`\n\n```ts\nconst { data } = await client.getFileSummary({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "status": "queued",\n "job_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "feedback_available": true,\n "preview_summary_de": "string",\n "short_summary_de": "string",\n "preview_summary_en": "string",\n "short_summary_en": "string"\n}\n```\n\n</details>\n\n---\n\n### `getFileSummaryFeedback`\n\nGet file summary feedback\n\n`GET /v1/files/{id}/summary/feedback`\n\n```ts\nconst { data } = await client.getFileSummaryFeedback({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "feedback": {\n "rating": "up",\n "comment": "string",\n "user_id": "string",\n "submitted_at": "1970-01-01T00:00:00.000Z"\n }\n}\n```\n\n</details>\n\n---\n\n### `putFileSummaryFeedback`\n\nSubmit file summary feedback\n\n`PUT /v1/files/{id}/summary/feedback`\n\n```ts\nconst { data } = await client.putFileSummaryFeedback(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n rating: \'up\',\n comment: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "feedback": {\n "rating": "up",\n "comment": "string",\n "user_id": "string",\n "submitted_at": "1970-01-01T00:00:00.000Z"\n }\n}\n```\n\n</details>\n\n---\n\n### `createFileSummaryJob`\n\nCreate or return the current AI summary job for a file entity.\n\n`POST /v1/files/{id}/summary-jobs`\n\n```ts\nconst { data } = await client.createFileSummaryJob({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `getCurrentFileSummaryJob`\n\nGet the latest AI summary job for the file entity\'s current source.\n\n`GET /v1/files/{id}/summary-jobs/current`\n\n```ts\nconst { data } = await client.getCurrentFileSummaryJob({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "job_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "file_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "status": "queued",\n "error": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `getFileSummaryJob`\n\nGet an AI summary job by id.\n\n`GET /v1/files/{id}/summary-jobs/{job_id}`\n\n```ts\nconst { data } = await client.getFileSummaryJob({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n job_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "job_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "file_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "status": "queued",\n "error": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `generateFileSummary`\n\nCompatibility alias for creating or returning the current AI summary job for a file entity.\n\n`POST /v1/files/{id}/summary:generate`\n\n```ts\nconst { data } = await client.generateFileSummary({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `getFileText`\n\nGet the plain-text representation of a file entity. Returns status `not_ready` while text is being prepared and `unsupported` when text is unavailable for the file or organization.\n\n`GET /v1/files/{id}/text`\n\n```ts\nconst { data } = await client.getFileText({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "status": "ready",\n "text": "string",\n "truncated": true,\n "total_chars": 0\n}\n```\n\n</details>\n\n---\n\n### `validateFile`\n\nValidate an uploaded file against one or more document validation rules\n(validation-rules-api rules with `input_type: document`).\n\n`POST /v1/files/validations`\n\n```ts\nconst { data } = await client.validateFile(\n null,\n {\n file: {\n entity_id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\'\n },\n rule_ids: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "status": "completed",\n "file": {\n "entity_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "s3ref": {},\n "filename": "string",\n "mime_type": "string",\n "size_bytes": 0\n },\n "observation": {\n "facts": {\n "mime_type": "string",\n "size_bytes": 0,\n "page_count": 0,\n "longer_edge_px": 0,\n "is_blank": true,\n "is_password_protected": true\n },\n "judgements": {},\n "document_type": {\n "slug": "string",\n "confidence": 0\n }\n },\n "results": [\n {\n "rule_id": "string",\n "rule_title": "string",\n "level": "basic",\n "is_valid": true,\n "failed_parts": ["string"],\n "warnings": ["string"],\n "conditions": [\n {\n "id": "string",\n "operator": "string",\n "outcome": "pass",\n "blocking": true,\n "message": "string",\n "evidence": "string",\n "explanation": "string"\n }\n ]\n }\n ],\n "created_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `previewFile`\n\nGenerate a thumbnail preview for a file entity.\n\n`GET /v1/files/{id}/preview`\n\n```ts\nconst { data } = await client.previewFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n w: 1,\n h: 1,\n})\n```\n\n---\n\n### `previewS3File`\n\nGenerate a thumbnail preview from an S3 reference.\n\n`POST /v1/files:previewS3`\n\n```ts\nconst { data } = await client.previewS3File(\n {\n w: 1,\n h: 1,\n },\n {},\n)\n```\n\n---\n\n### `previewS3FileGet`\n\nGet a thumbnail preview from an S3 reference using query parameters.\n\n`GET /v1/files:previewS3`\n\n```ts\nconst { data } = await client.previewS3FileGet({\n key: \'example\',\n bucket: \'example\',\n w: 1,\n h: 1,\n})\n```\n\n---\n\n### `previewPublicFile`\n\nGenerate a thumbnail preview for a public file entity.\n\n`GET /v1/files/public/{id}/preview`\n\n```ts\nconst { data } = await client.previewPublicFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n w: 1,\n h: 1,\n org_id: \'example\',\n})\n```\n\n---\n\n### `getSession`\n\nStart a browser session by converting a Bearer token into a server-side cookie.\n\n`GET /v1/files/session`\n\n```ts\nconst { data } = await client.getSession()\n```\n\n---\n\n### `deleteSession`\n\nEnd a browser session by deleting the token cookie.\n\n`DELETE /v1/files/session`\n\n```ts\nconst { data } = await client.deleteSession()\n```\n\n---\n\n### `generatePublicLink`\n\nGenerate a public link to share a private file externally.\n\n`POST /v1/files/{id}/public/links`\n\n```ts\nconst { data } = await client.generatePublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n"string"\n```\n\n</details>\n\n---\n\n### `listPublicLinksForFile`\n\nFetches all public links previously generated for a file\n\n`GET /v1/files/{id}/public/links`\n\n```ts\nconst { data } = await client.listPublicLinksForFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "3ef5c6d9-818d-45e6-8efb-b1de59079a1c",\n "link": "https://file.sls.epilot.io/v1/files/public/links/3ef5c6d9-818d-45e6-8efb-b1de59079a1c",\n "last_accessed_at": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `accessPublicLink`\n\nAccess a file via its public link.\n\n`GET /v1/files/public/links/{id}/{filename}`\n\n```ts\nconst { data } = await client.accessPublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n filename: \'example\',\n hash: \'example\',\n})\n```\n\n---\n\n### `revokePublicLink`\n\nRevokes a given public link by ID\n\n`DELETE /v1/files/public/links/{id}`\n\n```ts\nconst { data } = await client.revokePublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `verifyCustomDownloadUrl`\n\nVerify that a custom download URL is valid and has not expired.\n\n`POST /v1/files/download:verify`\n\n```ts\nconst { data } = await client.verifyCustomDownloadUrl(\n null,\n {\n custom_download_url: \'https://some-api-url.com?file_id=123&expires_at=1699273500029&signature=abcdefg\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "valid": true\n}\n```\n\n</details>\n\n---\n\n### `uploadFilePublic`\n\nCreate a pre-signed S3 URL for uploading a file without authentication.\n\n`POST /v1/files/public/upload`\n\n```ts\nconst { data } = await client.uploadFilePublic(\n null,\n {\n filename: \'document.pdf\',\n mime_type: \'application/pdf\',\n index_tag: \'2f6a377c8e78\',\n metadata: {\n color: \'blue\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "s3ref": {\n "bucket": "epilot-prod-user-content",\n "key": "123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n },\n "upload_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "error": "File entity not found"\n}\n```\n\n</details>\n\n---\n\n### `getUserSchemaFileCollections`\n\nGet all file collections for the current user within a specific schema.\n\n`GET /v1/{slug}/collections`\n\n```ts\nconst { data } = await client.getUserSchemaFileCollections({\n slug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n }\n]\n```\n\n</details>\n\n---\n\n### `createUserSchemaFileCollection`\n\nCreate a new file collection for the current user within a specific schema.\n\n`POST /v1/{slug}/collections`\n\n```ts\nconst { data } = await client.createUserSchemaFileCollection(\n {\n slug: \'example\',\n },\n {\n name: \'string\',\n parents: [\'string\'],\n starred: false,\n enabled_locations: [\'string\'],\n enabled_purposes: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n}\n```\n\n</details>\n\n---\n\n### `updateUserSchemaFileCollection`\n\nUpdate an existing file collection.\n\n`PUT /v1/{slug}/collections/{collectionSlug}`\n\n```ts\nconst { data } = await client.updateUserSchemaFileCollection(\n {\n slug: \'example\',\n collectionSlug: \'example\',\n },\n {\n name: \'string\',\n parents: [\'string\'],\n starred: false,\n enabled_locations: [\'string\'],\n enabled_purposes: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteUserSchemaFileCollection`\n\nDelete a file collection.\n\n`DELETE /v1/{slug}/collections/{collectionSlug}`\n\n```ts\nconst { data } = await client.deleteUserSchemaFileCollection({\n slug: \'example\',\n collectionSlug: \'example\',\n})\n```\n\n---\n\n### `getFilesInCollection`\n\nGet all files within a specific collection for an entity.\n\n`GET /v1/entity/{id}/collections/{collectionSlug}/files`\n\n```ts\nconst { data } = await client.getFilesInCollection({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n collectionSlug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "etag": "9bb58f26192e4ba00f01e2e7b136bbd8",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "custom_download_url_auth": "token",\n "preview_summary_de": "string",\n "short_summary_de": "string",\n "preview_summary_en": "string",\n "short_summary_en": "string",\n "file_summary_execution_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg",\n "etag": "9bb58f26192e4ba00f01e2e7b136bbd8"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n }\n]\n```\n\n</details>\n\n---\n\n### `getGlobalFileCollections`\n\nGet all global file collections for a specific schema.\n\n`GET /v1/collections/{schemaSlug}`\n\n```ts\nconst { data } = await client.getGlobalFileCollections({\n schemaSlug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n }\n]\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `EntityId`\n\n```ts\ntype EntityId = string\n```\n\n### `EntitySlug`\n\nURL-friendly identifier for the entity schema\n\n```ts\ntype EntitySlug = string\n```\n\n### `ActivityId`\n\nSee https://github.com/ulid/spec\n\n```ts\ntype ActivityId = string // ulid\n```\n\n### `FileEntityId`\n\n```ts\ntype FileEntityId = string | string // uuid\n```\n\n### `FileAttributes`\n\n```ts\ntype FileAttributes = {\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n}\n```\n\n### `FileType`\n\n```ts\ntype FileType = "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n```\n\n### `FileSummaryJobStatus`\n\nCurrent state of a file summary job.\n\n```ts\ntype FileSummaryJobStatus = "queued" | "waiting_for_extraction" | "processing" | "completed" | "failed" | "unsupported" | "stale"\n```\n\n### `FileSummaryJob`\n\n```ts\ntype FileSummaryJob = {\n job_id: string // uuid\n file_id: string | string // uuid\n status: "queued" | "waiting_for_extraction" | "processing" | "completed" | "failed" | "unsupported" | "stale"\n error?: string\n created_at: string // date-time\n updated_at: string // date-time\n completed_at?: string // date-time\n}\n```\n\n### `FileSummary`\n\n```ts\ntype FileSummary = {\n status?: "queued" | "waiting_for_extraction" | "processing" | "completed" | "failed" | "unsupported" | "stale"\n job_id?: string // uuid\n feedback_available?: boolean\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n}\n```\n\n### `FileSummaryFeedback`\n\n```ts\ntype FileSummaryFeedback = {\n rating: "up" | "down"\n comment?: string\n user_id: string\n submitted_at: string // date-time\n}\n```\n\n### `FileSummaryFeedbackResponse`\n\n```ts\ntype FileSummaryFeedbackResponse = {\n feedback: {\n rating: "up" | "down"\n comment?: string\n user_id: string\n submitted_at: string // date-time\n }\n}\n```\n\n### `PutFileSummaryFeedbackRequest`\n\n```ts\ntype PutFileSummaryFeedbackRequest = {\n rating: "up" | "down"\n comment?: string\n}\n```\n\n### `FileTextStatus`\n\nAvailability of the plain-text representation for a file entity.\n\n```ts\ntype FileTextStatus = "ready" | "not_ready" | "unsupported"\n```\n\n### `FileValidationRequest`\n\n```ts\ntype FileValidationRequest = {\n file: {\n entity_id: string | string // uuid\n } | {\n s3ref: unknown\n }\n rule_ids: string[]\n}\n```\n\n### `FileValidationFileReference`\n\nThe file to validate - a saved file entity, or an uploaded object not saved as an entity yet.\n\n```ts\ntype FileValidationFileReference = {\n entity_id: string | string // uuid\n} | {\n s3ref: unknown\n}\n```\n\n### `FileValidation`\n\n```ts\ntype FileValidation = {\n id: string\n status: "completed" | "pending" | "failed"\n file: {\n entity_id?: string | string // uuid\n s3ref?: unknown\n filename?: string\n mime_type?: string\n size_bytes?: number\n }\n observation: {\n facts: {\n mime_type?: { ... }\n size_bytes?: { ... }\n page_count?: { ... }\n longer_edge_px?: { ... }\n is_blank?: { ... }\n is_password_protected?: { ... }\n }\n judgements?: Record<string, {\n result: { ... }\n confidence?: { ... }\n evidence?: { ... }\n explanation?: { ... }\n }>\n document_type?: {\n slug?: { ... }\n confidence?: { ... }\n }\n }\n results: Array<{\n rule_id: string\n rule_title?: string\n level: "basic" | "standard" | "advanced"\n is_valid: boolean\n failed_parts?: string[]\n warnings?: string[]\n conditions: Array<{\n id: { ... }\n operator: { ... }\n outcome: { ... }\n blocking: { ... }\n message: { ... }\n evidence?: { ... }\n explanation?: { ... }\n }>\n }>\n created_at: string // date-time\n}\n```\n\n### `FileValidationFile`\n\nThe file that was validated, with the identity facts collected from its content.\n\n```ts\ntype FileValidationFile = {\n entity_id?: string | string // uuid\n s3ref?: unknown\n filename?: string\n mime_type?: string\n size_bytes?: number\n}\n```\n\n### `FileValidationObservation`\n\nEverything observed about the file, as passed to the validation rules engine.\n\n```ts\ntype FileValidationObservation = {\n facts: {\n mime_type?: string\n size_bytes?: number\n page_count?: number\n longer_edge_px?: number\n is_blank?: boolean\n is_password_protected?: boolean\n }\n judgements?: Record<string, {\n result: "pass" | "fail" | "uncertain"\n confidence?: number\n evidence?: string\n explanation?: string\n }>\n document_type?: {\n slug?: string\n confidence?: number\n }\n}\n```\n\n### `FileValidationJudgement`\n\n```ts\ntype FileValidationJudgement = {\n result: "pass" | "fail" | "uncertain"\n confidence?: number\n evidence?: string\n explanation?: string\n}\n```\n\n### `FileValidationFacts`\n\nDeterministic properties of the file. A property that is absent could not be determined\n(for example the resolution of an image the service cannot decode); conditions that need it\nare skipped rather than failed.\n\n\n```ts\ntype FileValidationFacts = {\n mime_type?: string\n size_bytes?: number\n page_count?: number\n longer_edge_px?: number\n is_blank?: boolean\n is_password_protected?: boolean\n}\n```\n\n### `FileValidationRuleResult`\n\n```ts\ntype FileValidationRuleResult = {\n rule_id: string\n rule_title?: string\n level: "basic" | "standard" | "advanced"\n is_valid: boolean\n failed_parts?: string[]\n warnings?: string[]\n conditions: Array<{\n id: string\n operator: string\n outcome: "pass" | "fail" | "uncertain" | "skipped"\n blocking: boolean\n message: string\n evidence?: string\n explanation?: string\n }>\n}\n```\n\n### `FileValidationConditionResult`\n\n```ts\ntype FileValidationConditionResult = {\n id: string\n operator: string\n outcome: "pass" | "fail" | "uncertain" | "skipped"\n blocking: boolean\n message: string\n evidence?: string\n explanation?: string\n}\n```\n\n### `FileText`\n\n```ts\ntype FileText = {\n status: "ready"\n text: string\n truncated: boolean\n total_chars: number\n} | {\n status: "not_ready"\n} | {\n status: "unsupported"\n}\n```\n\n### `FileTextReady`\n\n```ts\ntype FileTextReady = {\n status: "ready"\n text: string\n truncated: boolean\n total_chars: number\n}\n```\n\n### `FileTextNotReady`\n\n```ts\ntype FileTextNotReady = {\n status: "not_ready"\n}\n```\n\n### `FileTextUnsupported`\n\n```ts\ntype FileTextUnsupported = {\n status: "unsupported"\n}\n```\n\n### `CustomDownloadUrl`\n\nCustom external download url used for the file\n\n```ts\ntype CustomDownloadUrl = string // uri\n```\n\n### `CustomDownloadUrlAuth`\n\nAuthorization mode for the custom_download_url. `presigned` (the default) uses an HMAC-signed URL; `token` authorizes the download via the caller\'s bearer token, matched against the exact stored custom_download_url. In token mode the File API returns the unsigned custom_download_url (no expires_at/s\n\n```ts\ntype CustomDownloadUrlAuth = "presigned" | "token"\n```\n\n### `FileEntity`\n\n```ts\ntype FileEntity = {\n _title: string\n _schema: "file"\n _org: string\n _id: string | string // uuid\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename: string\n type: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n source_url?: string\n s3ref?: object\n versions: Array<{\n s3ref?: unknown\n filename?: string\n size_bytes?: number\n readable_size?: string\n mime_type?: string\n etag?: string\n }>\n _updated_at?: string // date-time\n _created_at?: string // date-time\n _acl?: {\n view?: string[]\n edit?: string[]\n delete?: string[]\n }\n _owners?: Array<{\n org_id: string\n user_id?: string\n }>\n __additional?: Record<string, unknown>\n}\n```\n\n### `CommonSaveFilePayload`\n\n```ts\ntype CommonSaveFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n}\n```\n\n### `SaveS3FilePayload`\n\n```ts\ntype SaveS3FilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n s3ref?: unknown\n}\n```\n\n### `SaveFileFromSourceURLPayload`\n\n```ts\ntype SaveFileFromSourceURLPayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n source_url?: string // uri\n}\n```\n\n### `SaveCustomFilePayload`\n\n```ts\ntype SaveCustomFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n}\n```\n\n### `SaveFilePayload`\n\n```ts\ntype SaveFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n s3ref?: unknown\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n source_url?: string // uri\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n}\n```\n\n### `SaveFilePayloadV2`\n\n```ts\ntype SaveFilePayloadV2 = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n s3ref?: unknown\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n source_url?: string // uri\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n}\n```\n\n### `BatchSaveFileVersionPayload`\n\nPayload for batch version save. Only s3ref payloads are supported.\n\n```ts\ntype BatchSaveFileVersionPayload = {\n _id?: object\n file_entity_id?: string\n filename?: string\n mime_type?: string\n access_control?: "private" | "public-read"\n s3ref: unknown\n}\n```\n\n### `UploadFilePayload`\n\n```ts\ntype UploadFilePayload = {\n filename: string\n mime_type?: string\n index_tag?: string\n metadata?: Record<string, string>\n}\n```\n\n### `FileUpload`\n\n```ts\ntype FileUpload = {\n s3ref?: object\n upload_url?: string // url\n public_url?: string // url\n}\n```\n\n### `DownloadFilesPayload`\n\n```ts\ntype DownloadFilesPayload = Array<{\n id: string | string // uuid\n version?: number\n}>\n```\n\n### `CreateZipJobPayload`\n\nRequest payload to create a ZIP job for bulk file download.\nProvide either an explicit list of `file_entity_ids` (up to 1000) or an\n`entity_query` that resolves to file entities (up to 10000).\n\n\n```ts\ntype CreateZipJobPayload = unknown | unknown\n```\n\n### `ZipJob`\n\nZIP job status and result\n\n```ts\ntype ZipJob = {\n job_id?: string // uuid\n status?: "queued" | "downloading" | "zipping" | "uploading" | "sending_notification" | "completed" | "failed"\n progress?: {\n total_files?: number\n downloaded_files?: number\n failed_files?: number\n }\n result?: {\n file_entity_id?: string // uuid\n download_url?: string // uri\n expires_at?: string // date-time\n zip_size_bytes?: number\n }\n error?: string\n created_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_at?: string // date-time\n}\n```\n\n### `VerifyCustomDownloadUrlPayload`\n\n```ts\ntype VerifyCustomDownloadUrlPayload = {\n custom_download_url: string\n}\n```\n\n### `S3Reference`\n\n```ts\ntype S3Reference = {\n bucket: string\n key: string\n}\n```\n\n### `S3Ref`\n\n```ts\ntype S3Ref = {\n bucket: string\n key: string\n}\n```\n\n### `FileItem`\n\n```ts\ntype FileItem = {\n s3ref?: unknown\n filename?: string\n size_bytes?: number\n readable_size?: string\n mime_type?: string\n etag?: string\n}\n```\n\n### `FileRelationItem`\n\n```ts\ntype FileRelationItem = {\n entity_id: string\n _schema?: string\n _tags?: string[]\n}\n```\n\n### `PublicLink`\n\n```ts\ntype PublicLink = {\n id?: string\n link?: string\n last_accessed_at?: string\n}\n```\n\n### `BaseEntityOwner`\n\nThe user / organization owning this entity.\n\nNote: Owner implicitly has access to the entity regardless of ACLs.\n\n\n```ts\ntype BaseEntityOwner = {\n org_id: string\n user_id?: string\n}\n```\n\n### `BaseEntityAcl`\n\nAccess control list (ACL) for an entity. Defines sharing access to external orgs or users.\n\n```ts\ntype BaseEntityAcl = {\n view?: string[]\n edit?: string[]\n delete?: string[]\n}\n```\n\n### `ErrorObject`\n\nA generic error returned by the API\n\n```ts\ntype ErrorObject = {\n status?: number\n error?: string\n}\n```\n\n### `FileCollectionId`\n\nGenerated uuid for a file collection\n\n```ts\ntype FileCollectionId = string // uuid\n```\n\n### `FileCollectionItem`\n\nA file collection with identifiers and timestamps\n\n```ts\ntype FileCollectionItem = {\n slug?: string\n name: string\n id?: string // uuid\n parents?: string[]\n starred?: boolean\n order?: number\n enabled_locations?: string[]\n enabled_purposes?: string[]\n created_at?: string // date-time\n updated_at?: string // date-time\n}\n```\n\n### `FileCollectionAttributes`\n\n```ts\ntype FileCollectionAttributes = {\n name?: string\n parents?: string[]\n starred?: boolean\n enabled_locations?: string[]\n enabled_purposes?: string[]\n}\n```\n\n### `FileCollectionCreateRequest`\n\nRequest body for creating a file collection\n\n```ts\ntype FileCollectionCreateRequest = {\n name: string\n parents?: string[]\n starred?: boolean\n enabled_locations?: string[]\n enabled_purposes?: string[]\n}\n```\n';
5
+
6
+
7
+ exports.default = file_default;
@@ -0,0 +1,7 @@
1
+ import "./chunk-YPSWSI3M.js";
2
+
3
+ // src/docs/file.json
4
+ var file_default = '# File API\n\n- **Base URL:** `https://file.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/file](https://docs.epilot.io/api/file)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.file.uploadFileV2(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/file\'\n\nconst fileClient = getClient()\nauthorize(fileClient, () => \'<token>\')\nconst { data } = await fileClient.uploadFileV2(...)\n```\n\n## Operations\n\n**File**\n- [`uploadFileV2`](#uploadfilev2)\n- [`saveFileV2`](#savefilev2)\n- [`getFile`](#getfile)\n- [`deleteFile`](#deletefile)\n- [`downloadFile`](#downloadfile)\n- [`downloadS3File`](#downloads3file)\n- [`downloadFiles`](#downloadfiles)\n- [`createZipJob`](#createzipjob)\n- [`getZipJob`](#getzipjob)\n- [`getFileSummary`](#getfilesummary)\n- [`getFileSummaryFeedback`](#getfilesummaryfeedback)\n- [`putFileSummaryFeedback`](#putfilesummaryfeedback)\n- [`createFileSummaryJob`](#createfilesummaryjob)\n- [`getCurrentFileSummaryJob`](#getcurrentfilesummaryjob)\n- [`getFileSummaryJob`](#getfilesummaryjob)\n- [`generateFileSummary`](#generatefilesummary)\n- [`getFileText`](#getfiletext)\n- [`validateFile`](#validatefile)\n- [`verifyCustomDownloadUrl`](#verifycustomdownloadurl)\n- [`uploadFilePublic`](#uploadfilepublic)\n\n**Preview**\n- [`previewFile`](#previewfile)\n- [`previewS3File`](#previews3file)\n- [`previewS3FileGet`](#previews3fileget)\n- [`previewPublicFile`](#previewpublicfile)\n\n**Session**\n- [`getSession`](#getsession)\n- [`deleteSession`](#deletesession)\n\n**Public Links**\n- [`generatePublicLink`](#generatepubliclink)\n- [`listPublicLinksForFile`](#listpubliclinksforfile)\n- [`accessPublicLink`](#accesspubliclink)\n- [`revokePublicLink`](#revokepubliclink)\n\n**File Collections**\n- [`getUserSchemaFileCollections`](#getuserschemafilecollections)\n- [`createUserSchemaFileCollection`](#createuserschemafilecollection)\n- [`updateUserSchemaFileCollection`](#updateuserschemafilecollection)\n- [`deleteUserSchemaFileCollection`](#deleteuserschemafilecollection)\n- [`getFilesInCollection`](#getfilesincollection)\n- [`getGlobalFileCollections`](#getglobalfilecollections)\n\n**Schemas**\n- [`EntityId`](#entityid)\n- [`EntitySlug`](#entityslug)\n- [`ActivityId`](#activityid)\n- [`FileEntityId`](#fileentityid)\n- [`FileAttributes`](#fileattributes)\n- [`FileType`](#filetype)\n- [`FileSummaryJobStatus`](#filesummaryjobstatus)\n- [`FileSummaryJob`](#filesummaryjob)\n- [`FileSummary`](#filesummary)\n- [`FileSummaryFeedback`](#filesummaryfeedback)\n- [`FileSummaryFeedbackResponse`](#filesummaryfeedbackresponse)\n- [`PutFileSummaryFeedbackRequest`](#putfilesummaryfeedbackrequest)\n- [`FileTextStatus`](#filetextstatus)\n- [`FileValidationRequest`](#filevalidationrequest)\n- [`FileValidationFileReference`](#filevalidationfilereference)\n- [`FileValidation`](#filevalidation)\n- [`FileValidationFile`](#filevalidationfile)\n- [`FileValidationObservation`](#filevalidationobservation)\n- [`FileValidationJudgement`](#filevalidationjudgement)\n- [`FileValidationFacts`](#filevalidationfacts)\n- [`FileValidationRuleResult`](#filevalidationruleresult)\n- [`FileValidationConditionResult`](#filevalidationconditionresult)\n- [`FileText`](#filetext)\n- [`FileTextReady`](#filetextready)\n- [`FileTextNotReady`](#filetextnotready)\n- [`FileTextUnsupported`](#filetextunsupported)\n- [`CustomDownloadUrl`](#customdownloadurl)\n- [`CustomDownloadUrlAuth`](#customdownloadurlauth)\n- [`FileEntity`](#fileentity)\n- [`CommonSaveFilePayload`](#commonsavefilepayload)\n- [`SaveS3FilePayload`](#saves3filepayload)\n- [`SaveFileFromSourceURLPayload`](#savefilefromsourceurlpayload)\n- [`SaveCustomFilePayload`](#savecustomfilepayload)\n- [`SaveFilePayload`](#savefilepayload)\n- [`SaveFilePayloadV2`](#savefilepayloadv2)\n- [`BatchSaveFileVersionPayload`](#batchsavefileversionpayload)\n- [`UploadFilePayload`](#uploadfilepayload)\n- [`FileUpload`](#fileupload)\n- [`DownloadFilesPayload`](#downloadfilespayload)\n- [`CreateZipJobPayload`](#createzipjobpayload)\n- [`ZipJob`](#zipjob)\n- [`VerifyCustomDownloadUrlPayload`](#verifycustomdownloadurlpayload)\n- [`S3Reference`](#s3reference)\n- [`S3Ref`](#s3ref)\n- [`FileItem`](#fileitem)\n- [`FileRelationItem`](#filerelationitem)\n- [`PublicLink`](#publiclink)\n- [`BaseEntityOwner`](#baseentityowner)\n- [`BaseEntityAcl`](#baseentityacl)\n- [`ErrorObject`](#errorobject)\n- [`FileCollectionId`](#filecollectionid)\n- [`FileCollectionItem`](#filecollectionitem)\n- [`FileCollectionAttributes`](#filecollectionattributes)\n- [`FileCollectionCreateRequest`](#filecollectioncreaterequest)\n\n### `uploadFileV2`\n\nCreate pre-signed S3 URL to upload a file to keep temporarily (one week).\n\n`POST /v2/files/upload`\n\n```ts\nconst { data } = await client.uploadFileV2(\n {\n file_entity_id: \'example\',\n },\n {\n filename: \'document.pdf\',\n mime_type: \'application/pdf\',\n index_tag: \'2f6a377c8e78\',\n metadata: {\n color: \'blue\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "s3ref": {\n "bucket": "epilot-prod-user-content",\n "key": "123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n },\n "upload_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n}\n```\n\n</details>\n\n---\n\n### `saveFileV2`\n\nSaves a permanent file entity. Updates an existing file entity when `_id` is passed.\n\n`POST /v2/files`\n\n```ts\nconst { data } = await client.saveFileV2(\n {\n activity_id: \'example\',\n fill_activity: true,\n strict: true,\n async: true,\n delete_temp_file: true,\n version_only: true,\n },\n {\n _id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n file_entity_id: \'string\',\n relations: [\n {\n entity_id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n _schema: \'contact\',\n _tags: [\'string\']\n }\n ],\n _tags: [\'tag1\', \'tag2\'],\n _purpose: [\'8d396871-95a0-4c9d-bb4d-9eda9c35776c\', \'da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8\'],\n _manifest: [\'123e4567-e89b-12d3-a456-426614174000\'],\n filename: \'document.pdf\',\n type: \'document\',\n mime_type: \'application/pdf\',\n size_bytes: 1234,\n readable_size: \'1.2 MB\',\n etag: \'9bb58f26192e4ba00f01e2e7b136bbd8\',\n access_control: \'private\',\n public_url: \'https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf\',\n custom_download_url: \'https://some-api-url.com/download?file_id=123\',\n custom_download_url_auth: \'token\',\n preview_summary_de: \'string\',\n short_summary_de: \'string\',\n preview_summary_en: \'string\',\n short_summary_en: \'string\',\n file_summary_execution_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n s3ref: {}\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "etag": "9bb58f26192e4ba00f01e2e7b136bbd8",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "custom_download_url_auth": "token",\n "preview_summary_de": "string",\n "short_summary_de": "string",\n "preview_summary_en": "string",\n "short_summary_en": "string",\n "file_summary_execution_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg",\n "etag": "9bb58f26192e4ba00f01e2e7b136bbd8"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `getFile`\n\nGet a file entity by id\n\n`GET /v2/files/{id}`\n\n```ts\nconst { data } = await client.getFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n source_url: true,\n strict: true,\n async: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "etag": "9bb58f26192e4ba00f01e2e7b136bbd8",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "custom_download_url_auth": "token",\n "preview_summary_de": "string",\n "short_summary_de": "string",\n "preview_summary_en": "string",\n "short_summary_en": "string",\n "file_summary_execution_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg",\n "etag": "9bb58f26192e4ba00f01e2e7b136bbd8"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `deleteFile`\n\nDelete a file entity by id\n\n`DELETE /v2/files/{id}`\n\n```ts\nconst { data } = await client.deleteFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n purge: true,\n activity_id: \'example\',\n strict: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "etag": "9bb58f26192e4ba00f01e2e7b136bbd8",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "custom_download_url_auth": "token",\n "preview_summary_de": "string",\n "short_summary_de": "string",\n "preview_summary_en": "string",\n "short_summary_en": "string",\n "file_summary_execution_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg",\n "etag": "9bb58f26192e4ba00f01e2e7b136bbd8"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n}\n```\n\n</details>\n\n---\n\n### `downloadFile`\n\nGenerate a pre-signed download URL for a file.\n\n`GET /v1/files/{id}/download`\n\n```ts\nconst { data } = await client.downloadFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n attachment: true,\n x-track: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123"\n}\n```\n\n</details>\n\n---\n\n### `downloadS3File`\n\nGenerate a pre-signed download URL for a file using its S3 reference.\n\n`POST /v1/files:downloadS3`\n\n```ts\nconst { data } = await client.downloadS3File({\n s3_key: \'example\',\n s3_bucket: \'example\',\n attachment: true,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123"\n}\n```\n\n</details>\n\n---\n\n### `downloadFiles`\n\nBulk generate pre-signed download URLs for multiple files in a single request.\n\n`POST /v1/files:downloadFiles`\n\n```ts\nconst { data } = await client.downloadFiles(\n null,\n [\n {\n id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\',\n version: 0\n }\n ],\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "file_entity_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"\n }\n]\n```\n\n</details>\n\n---\n\n### `createZipJob`\n\nCreate a background job to ZIP multiple files and send a download link via email.\n\n`POST /v1/files:zipJob`\n\n```ts\nconst { data } = await client.createZipJob(\n null,\n {},\n)\n```\n\n---\n\n### `getZipJob`\n\nGet the status of a ZIP job\n\n`GET /v1/files:zipJob/{job_id}`\n\n```ts\nconst { data } = await client.getZipJob({\n job_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "job_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "status": "completed",\n "progress": {\n "total_files": 100,\n "downloaded_files": 75,\n "failed_files": 2\n },\n "result": {\n "file_entity_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "download_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/files.zip?X-Amz-...",\n "expires_at": "2024-01-02T12:00:00Z",\n "zip_size_bytes": 104857600\n },\n "error": "Failed to download file: access denied",\n "created_at": "2024-01-01T12:00:00Z",\n "created_by": "10234",\n "org_id": "123",\n "updated_at": "2024-01-01T12:05:00Z"\n}\n```\n\n</details>\n\n---\n\n### `getFileSummary`\n\nGet summary text for a file entity together with the current summary job status when available.\n\n`GET /v1/files/{id}/summary`\n\n```ts\nconst { data } = await client.getFileSummary({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "status": "queued",\n "job_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "feedback_available": true,\n "preview_summary_de": "string",\n "short_summary_de": "string",\n "preview_summary_en": "string",\n "short_summary_en": "string"\n}\n```\n\n</details>\n\n---\n\n### `getFileSummaryFeedback`\n\nGet file summary feedback\n\n`GET /v1/files/{id}/summary/feedback`\n\n```ts\nconst { data } = await client.getFileSummaryFeedback({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "feedback": {\n "rating": "up",\n "comment": "string",\n "user_id": "string",\n "submitted_at": "1970-01-01T00:00:00.000Z"\n }\n}\n```\n\n</details>\n\n---\n\n### `putFileSummaryFeedback`\n\nSubmit file summary feedback\n\n`PUT /v1/files/{id}/summary/feedback`\n\n```ts\nconst { data } = await client.putFileSummaryFeedback(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n rating: \'up\',\n comment: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "feedback": {\n "rating": "up",\n "comment": "string",\n "user_id": "string",\n "submitted_at": "1970-01-01T00:00:00.000Z"\n }\n}\n```\n\n</details>\n\n---\n\n### `createFileSummaryJob`\n\nCreate or return the current AI summary job for a file entity.\n\n`POST /v1/files/{id}/summary-jobs`\n\n```ts\nconst { data } = await client.createFileSummaryJob({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `getCurrentFileSummaryJob`\n\nGet the latest AI summary job for the file entity\'s current source.\n\n`GET /v1/files/{id}/summary-jobs/current`\n\n```ts\nconst { data } = await client.getCurrentFileSummaryJob({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "job_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "file_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "status": "queued",\n "error": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `getFileSummaryJob`\n\nGet an AI summary job by id.\n\n`GET /v1/files/{id}/summary-jobs/{job_id}`\n\n```ts\nconst { data } = await client.getFileSummaryJob({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n job_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "job_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "file_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "status": "queued",\n "error": "string",\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `generateFileSummary`\n\nCompatibility alias for creating or returning the current AI summary job for a file entity.\n\n`POST /v1/files/{id}/summary:generate`\n\n```ts\nconst { data } = await client.generateFileSummary({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `getFileText`\n\nGet the plain-text representation of a file entity. Returns status `not_ready` while text is being prepared and `unsupported` when text is unavailable for the file or organization.\n\n`GET /v1/files/{id}/text`\n\n```ts\nconst { data } = await client.getFileText({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "status": "ready",\n "text": "string",\n "truncated": true,\n "total_chars": 0\n}\n```\n\n</details>\n\n---\n\n### `validateFile`\n\nValidate an uploaded file against one or more document validation rules\n(validation-rules-api rules with `input_type: document`).\n\n`POST /v1/files/validations`\n\n```ts\nconst { data } = await client.validateFile(\n null,\n {\n file: {\n entity_id: \'ef7d985c-2385-44f4-9c71-ae06a52264f8\'\n },\n rule_ids: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "status": "completed",\n "file": {\n "entity_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "s3ref": {},\n "filename": "string",\n "mime_type": "string",\n "size_bytes": 0\n },\n "observation": {\n "facts": {\n "mime_type": "string",\n "size_bytes": 0,\n "page_count": 0,\n "longer_edge_px": 0,\n "is_blank": true,\n "is_password_protected": true\n },\n "judgements": {},\n "document_type": {\n "slug": "string",\n "confidence": 0\n }\n },\n "results": [\n {\n "rule_id": "string",\n "rule_title": "string",\n "level": "basic",\n "is_valid": true,\n "failed_parts": ["string"],\n "warnings": ["string"],\n "conditions": [\n {\n "id": "string",\n "operator": "string",\n "outcome": "pass",\n "blocking": true,\n "message": "string",\n "evidence": "string",\n "explanation": "string"\n }\n ]\n }\n ],\n "created_at": "1970-01-01T00:00:00.000Z"\n}\n```\n\n</details>\n\n---\n\n### `previewFile`\n\nGenerate a thumbnail preview for a file entity.\n\n`GET /v1/files/{id}/preview`\n\n```ts\nconst { data } = await client.previewFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n w: 1,\n h: 1,\n})\n```\n\n---\n\n### `previewS3File`\n\nGenerate a thumbnail preview from an S3 reference.\n\n`POST /v1/files:previewS3`\n\n```ts\nconst { data } = await client.previewS3File(\n {\n w: 1,\n h: 1,\n },\n {},\n)\n```\n\n---\n\n### `previewS3FileGet`\n\nGet a thumbnail preview from an S3 reference using query parameters.\n\n`GET /v1/files:previewS3`\n\n```ts\nconst { data } = await client.previewS3FileGet({\n key: \'example\',\n bucket: \'example\',\n w: 1,\n h: 1,\n})\n```\n\n---\n\n### `previewPublicFile`\n\nGenerate a thumbnail preview for a public file entity.\n\n`GET /v1/files/public/{id}/preview`\n\n```ts\nconst { data } = await client.previewPublicFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n version: 1,\n w: 1,\n h: 1,\n org_id: \'example\',\n})\n```\n\n---\n\n### `getSession`\n\nStart a browser session by converting a Bearer token into a server-side cookie.\n\n`GET /v1/files/session`\n\n```ts\nconst { data } = await client.getSession()\n```\n\n---\n\n### `deleteSession`\n\nEnd a browser session by deleting the token cookie.\n\n`DELETE /v1/files/session`\n\n```ts\nconst { data } = await client.deleteSession()\n```\n\n---\n\n### `generatePublicLink`\n\nGenerate a public link to share a private file externally.\n\n`POST /v1/files/{id}/public/links`\n\n```ts\nconst { data } = await client.generatePublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n"string"\n```\n\n</details>\n\n---\n\n### `listPublicLinksForFile`\n\nFetches all public links previously generated for a file\n\n`GET /v1/files/{id}/public/links`\n\n```ts\nconst { data } = await client.listPublicLinksForFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "3ef5c6d9-818d-45e6-8efb-b1de59079a1c",\n "link": "https://file.sls.epilot.io/v1/files/public/links/3ef5c6d9-818d-45e6-8efb-b1de59079a1c",\n "last_accessed_at": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `accessPublicLink`\n\nAccess a file via its public link.\n\n`GET /v1/files/public/links/{id}/{filename}`\n\n```ts\nconst { data } = await client.accessPublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n filename: \'example\',\n hash: \'example\',\n})\n```\n\n---\n\n### `revokePublicLink`\n\nRevokes a given public link by ID\n\n`DELETE /v1/files/public/links/{id}`\n\n```ts\nconst { data } = await client.revokePublicLink({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `verifyCustomDownloadUrl`\n\nVerify that a custom download URL is valid and has not expired.\n\n`POST /v1/files/download:verify`\n\n```ts\nconst { data } = await client.verifyCustomDownloadUrl(\n null,\n {\n custom_download_url: \'https://some-api-url.com?file_id=123&expires_at=1699273500029&signature=abcdefg\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "valid": true\n}\n```\n\n</details>\n\n---\n\n### `uploadFilePublic`\n\nCreate a pre-signed S3 URL for uploading a file without authentication.\n\n`POST /v1/files/public/upload`\n\n```ts\nconst { data } = await client.uploadFilePublic(\n null,\n {\n filename: \'document.pdf\',\n mime_type: \'application/pdf\',\n index_tag: \'2f6a377c8e78\',\n metadata: {\n color: \'blue\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "s3ref": {\n "bucket": "epilot-prod-user-content",\n "key": "123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf"\n },\n "upload_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/temp/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf?AWSParams=123",\n "error": "File entity not found"\n}\n```\n\n</details>\n\n---\n\n### `getUserSchemaFileCollections`\n\nGet all file collections for the current user within a specific schema.\n\n`GET /v1/{slug}/collections`\n\n```ts\nconst { data } = await client.getUserSchemaFileCollections({\n slug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n }\n]\n```\n\n</details>\n\n---\n\n### `createUserSchemaFileCollection`\n\nCreate a new file collection for the current user within a specific schema.\n\n`POST /v1/{slug}/collections`\n\n```ts\nconst { data } = await client.createUserSchemaFileCollection(\n {\n slug: \'example\',\n },\n {\n name: \'string\',\n parents: [\'string\'],\n starred: false,\n enabled_locations: [\'string\'],\n enabled_purposes: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n}\n```\n\n</details>\n\n---\n\n### `updateUserSchemaFileCollection`\n\nUpdate an existing file collection.\n\n`PUT /v1/{slug}/collections/{collectionSlug}`\n\n```ts\nconst { data } = await client.updateUserSchemaFileCollection(\n {\n slug: \'example\',\n collectionSlug: \'example\',\n },\n {\n name: \'string\',\n parents: [\'string\'],\n starred: false,\n enabled_locations: [\'string\'],\n enabled_purposes: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n}\n```\n\n</details>\n\n---\n\n### `deleteUserSchemaFileCollection`\n\nDelete a file collection.\n\n`DELETE /v1/{slug}/collections/{collectionSlug}`\n\n```ts\nconst { data } = await client.deleteUserSchemaFileCollection({\n slug: \'example\',\n collectionSlug: \'example\',\n})\n```\n\n---\n\n### `getFilesInCollection`\n\nGet all files within a specific collection for an entity.\n\n`GET /v1/entity/{id}/collections/{collectionSlug}/files`\n\n```ts\nconst { data } = await client.getFilesInCollection({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n collectionSlug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "_title": "document.pdf",\n "_schema": "file",\n "_org": "123",\n "_id": "ef7d985c-2385-44f4-9c71-ae06a52264f8",\n "_tags": ["tag1", "tag2"],\n "_purpose": ["8d396871-95a0-4c9d-bb4d-9eda9c35776c", "da7cdf9a-01be-40c9-a29c-9a8f9f0de6f8"],\n "_manifest": ["123e4567-e89b-12d3-a456-426614174000"],\n "filename": "document.pdf",\n "type": "document",\n "mime_type": "application/pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "etag": "9bb58f26192e4ba00f01e2e7b136bbd8",\n "access_control": "private",\n "public_url": "https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/123/4d689aeb-1497-4410-a9fe-b36ca9ac4389/document.pdf",\n "custom_download_url": "https://some-api-url.com/download?file_id=123",\n "custom_download_url_auth": "token",\n "preview_summary_de": "string",\n "short_summary_de": "string",\n "preview_summary_en": "string",\n "short_summary_en": "string",\n "file_summary_execution_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "source_url": "https://productengineer-content.s3.eu-west-1.amazonaws.com/product-engineer-checklist.pdf",\n "s3ref": {},\n "versions": [\n {\n "s3ref": {},\n "filename": "document.pdf",\n "size_bytes": 1234,\n "readable_size": "1.2 MB",\n "mime_type": "image/jpeg",\n "etag": "9bb58f26192e4ba00f01e2e7b136bbd8"\n }\n ],\n "_updated_at": "1970-01-01T00:00:00.000Z",\n "_created_at": "1970-01-01T00:00:00.000Z",\n "_acl": {\n "view": ["org:456"],\n "edit": ["org:456"],\n "delete": ["org:456"]\n },\n "_owners": [\n {\n "org_id": "123",\n "user_id": "123"\n }\n ],\n "__additional": {}\n }\n]\n```\n\n</details>\n\n---\n\n### `getGlobalFileCollections`\n\nGet all global file collections for a specific schema.\n\n`GET /v1/collections/{schemaSlug}`\n\n```ts\nconst { data } = await client.getGlobalFileCollections({\n schemaSlug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "slug": "_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234:documents",\n "name": "Documents",\n "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "parents": ["_system_files_collection_3fa85f64-5717-4562-b3fc-2c963f66afa6_10234"],\n "starred": false,\n "order": 0,\n "enabled_locations": ["string"],\n "enabled_purposes": ["9eefcb98-93cf-4c5b-a040-f1d26d57c177", "5c544c09-a691-43ed-a7fa-0a8b44b5b161"],\n "created_at": "2024-01-01T12:00:00Z",\n "updated_at": "2024-01-02T12:00:00Z"\n }\n]\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `EntityId`\n\n```ts\ntype EntityId = string\n```\n\n### `EntitySlug`\n\nURL-friendly identifier for the entity schema\n\n```ts\ntype EntitySlug = string\n```\n\n### `ActivityId`\n\nSee https://github.com/ulid/spec\n\n```ts\ntype ActivityId = string // ulid\n```\n\n### `FileEntityId`\n\n```ts\ntype FileEntityId = string | string // uuid\n```\n\n### `FileAttributes`\n\n```ts\ntype FileAttributes = {\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n}\n```\n\n### `FileType`\n\n```ts\ntype FileType = "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n```\n\n### `FileSummaryJobStatus`\n\nCurrent state of a file summary job.\n\n```ts\ntype FileSummaryJobStatus = "queued" | "waiting_for_extraction" | "processing" | "completed" | "failed" | "unsupported" | "stale"\n```\n\n### `FileSummaryJob`\n\n```ts\ntype FileSummaryJob = {\n job_id: string // uuid\n file_id: string | string // uuid\n status: "queued" | "waiting_for_extraction" | "processing" | "completed" | "failed" | "unsupported" | "stale"\n error?: string\n created_at: string // date-time\n updated_at: string // date-time\n completed_at?: string // date-time\n}\n```\n\n### `FileSummary`\n\n```ts\ntype FileSummary = {\n status?: "queued" | "waiting_for_extraction" | "processing" | "completed" | "failed" | "unsupported" | "stale"\n job_id?: string // uuid\n feedback_available?: boolean\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n}\n```\n\n### `FileSummaryFeedback`\n\n```ts\ntype FileSummaryFeedback = {\n rating: "up" | "down"\n comment?: string\n user_id: string\n submitted_at: string // date-time\n}\n```\n\n### `FileSummaryFeedbackResponse`\n\n```ts\ntype FileSummaryFeedbackResponse = {\n feedback: {\n rating: "up" | "down"\n comment?: string\n user_id: string\n submitted_at: string // date-time\n }\n}\n```\n\n### `PutFileSummaryFeedbackRequest`\n\n```ts\ntype PutFileSummaryFeedbackRequest = {\n rating: "up" | "down"\n comment?: string\n}\n```\n\n### `FileTextStatus`\n\nAvailability of the plain-text representation for a file entity.\n\n```ts\ntype FileTextStatus = "ready" | "not_ready" | "unsupported"\n```\n\n### `FileValidationRequest`\n\n```ts\ntype FileValidationRequest = {\n file: {\n entity_id: string | string // uuid\n } | {\n s3ref: unknown\n }\n rule_ids: string[]\n}\n```\n\n### `FileValidationFileReference`\n\nThe file to validate - a saved file entity, or an uploaded object not saved as an entity yet.\n\n```ts\ntype FileValidationFileReference = {\n entity_id: string | string // uuid\n} | {\n s3ref: unknown\n}\n```\n\n### `FileValidation`\n\n```ts\ntype FileValidation = {\n id: string\n status: "completed" | "pending" | "failed"\n file: {\n entity_id?: string | string // uuid\n s3ref?: unknown\n filename?: string\n mime_type?: string\n size_bytes?: number\n }\n observation: {\n facts: {\n mime_type?: { ... }\n size_bytes?: { ... }\n page_count?: { ... }\n longer_edge_px?: { ... }\n is_blank?: { ... }\n is_password_protected?: { ... }\n }\n judgements?: Record<string, {\n result: { ... }\n confidence?: { ... }\n evidence?: { ... }\n explanation?: { ... }\n }>\n document_type?: {\n slug?: { ... }\n confidence?: { ... }\n }\n }\n results: Array<{\n rule_id: string\n rule_title?: string\n level: "basic" | "standard" | "advanced"\n is_valid: boolean\n failed_parts?: string[]\n warnings?: string[]\n conditions: Array<{\n id: { ... }\n operator: { ... }\n outcome: { ... }\n blocking: { ... }\n message: { ... }\n evidence?: { ... }\n explanation?: { ... }\n }>\n }>\n created_at: string // date-time\n}\n```\n\n### `FileValidationFile`\n\nThe file that was validated, with the identity facts collected from its content.\n\n```ts\ntype FileValidationFile = {\n entity_id?: string | string // uuid\n s3ref?: unknown\n filename?: string\n mime_type?: string\n size_bytes?: number\n}\n```\n\n### `FileValidationObservation`\n\nEverything observed about the file, as passed to the validation rules engine.\n\n```ts\ntype FileValidationObservation = {\n facts: {\n mime_type?: string\n size_bytes?: number\n page_count?: number\n longer_edge_px?: number\n is_blank?: boolean\n is_password_protected?: boolean\n }\n judgements?: Record<string, {\n result: "pass" | "fail" | "uncertain"\n confidence?: number\n evidence?: string\n explanation?: string\n }>\n document_type?: {\n slug?: string\n confidence?: number\n }\n}\n```\n\n### `FileValidationJudgement`\n\n```ts\ntype FileValidationJudgement = {\n result: "pass" | "fail" | "uncertain"\n confidence?: number\n evidence?: string\n explanation?: string\n}\n```\n\n### `FileValidationFacts`\n\nDeterministic properties of the file. A property that is absent could not be determined\n(for example the resolution of an image the service cannot decode); conditions that need it\nare skipped rather than failed.\n\n\n```ts\ntype FileValidationFacts = {\n mime_type?: string\n size_bytes?: number\n page_count?: number\n longer_edge_px?: number\n is_blank?: boolean\n is_password_protected?: boolean\n}\n```\n\n### `FileValidationRuleResult`\n\n```ts\ntype FileValidationRuleResult = {\n rule_id: string\n rule_title?: string\n level: "basic" | "standard" | "advanced"\n is_valid: boolean\n failed_parts?: string[]\n warnings?: string[]\n conditions: Array<{\n id: string\n operator: string\n outcome: "pass" | "fail" | "uncertain" | "skipped"\n blocking: boolean\n message: string\n evidence?: string\n explanation?: string\n }>\n}\n```\n\n### `FileValidationConditionResult`\n\n```ts\ntype FileValidationConditionResult = {\n id: string\n operator: string\n outcome: "pass" | "fail" | "uncertain" | "skipped"\n blocking: boolean\n message: string\n evidence?: string\n explanation?: string\n}\n```\n\n### `FileText`\n\n```ts\ntype FileText = {\n status: "ready"\n text: string\n truncated: boolean\n total_chars: number\n} | {\n status: "not_ready"\n} | {\n status: "unsupported"\n}\n```\n\n### `FileTextReady`\n\n```ts\ntype FileTextReady = {\n status: "ready"\n text: string\n truncated: boolean\n total_chars: number\n}\n```\n\n### `FileTextNotReady`\n\n```ts\ntype FileTextNotReady = {\n status: "not_ready"\n}\n```\n\n### `FileTextUnsupported`\n\n```ts\ntype FileTextUnsupported = {\n status: "unsupported"\n}\n```\n\n### `CustomDownloadUrl`\n\nCustom external download url used for the file\n\n```ts\ntype CustomDownloadUrl = string // uri\n```\n\n### `CustomDownloadUrlAuth`\n\nAuthorization mode for the custom_download_url. `presigned` (the default) uses an HMAC-signed URL; `token` authorizes the download via the caller\'s bearer token, matched against the exact stored custom_download_url. In token mode the File API returns the unsigned custom_download_url (no expires_at/s\n\n```ts\ntype CustomDownloadUrlAuth = "presigned" | "token"\n```\n\n### `FileEntity`\n\n```ts\ntype FileEntity = {\n _title: string\n _schema: "file"\n _org: string\n _id: string | string // uuid\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename: string\n type: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n source_url?: string\n s3ref?: object\n versions: Array<{\n s3ref?: unknown\n filename?: string\n size_bytes?: number\n readable_size?: string\n mime_type?: string\n etag?: string\n }>\n _updated_at?: string // date-time\n _created_at?: string // date-time\n _acl?: {\n view?: string[]\n edit?: string[]\n delete?: string[]\n }\n _owners?: Array<{\n org_id: string\n user_id?: string\n }>\n __additional?: Record<string, unknown>\n}\n```\n\n### `CommonSaveFilePayload`\n\n```ts\ntype CommonSaveFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n}\n```\n\n### `SaveS3FilePayload`\n\n```ts\ntype SaveS3FilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n s3ref?: unknown\n}\n```\n\n### `SaveFileFromSourceURLPayload`\n\n```ts\ntype SaveFileFromSourceURLPayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n source_url?: string // uri\n}\n```\n\n### `SaveCustomFilePayload`\n\n```ts\ntype SaveCustomFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n}\n```\n\n### `SaveFilePayload`\n\n```ts\ntype SaveFilePayload = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n s3ref?: unknown\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n source_url?: string // uri\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n}\n```\n\n### `SaveFilePayloadV2`\n\n```ts\ntype SaveFilePayloadV2 = {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n s3ref?: unknown\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n source_url?: string // uri\n} | {\n _id?: object\n file_entity_id?: string\n relations?: Array<{\n entity_id: string\n _schema?: string\n _tags?: string[]\n }>\n _tags?: string[]\n _purpose?: string[]\n _manifest?: string // uuid[]\n filename?: string\n type?: "document" | "document_template" | "text" | "image" | "video" | "audio" | "spreadsheet" | "presentation" | "font" | "archive" | "application" | "unknown"\n mime_type?: string\n size_bytes?: number\n readable_size?: string\n etag?: string\n access_control?: "private" | "public-read"\n public_url?: string // url\n custom_download_url?: string // uri\n custom_download_url_auth?: "presigned" | "token"\n preview_summary_de?: string\n short_summary_de?: string\n preview_summary_en?: string\n short_summary_en?: string\n file_summary_execution_id?: string // uuid\n}\n```\n\n### `BatchSaveFileVersionPayload`\n\nPayload for batch version save. Only s3ref payloads are supported.\n\n```ts\ntype BatchSaveFileVersionPayload = {\n _id?: object\n file_entity_id?: string\n filename?: string\n mime_type?: string\n access_control?: "private" | "public-read"\n s3ref: unknown\n}\n```\n\n### `UploadFilePayload`\n\n```ts\ntype UploadFilePayload = {\n filename: string\n mime_type?: string\n index_tag?: string\n metadata?: Record<string, string>\n}\n```\n\n### `FileUpload`\n\n```ts\ntype FileUpload = {\n s3ref?: object\n upload_url?: string // url\n public_url?: string // url\n}\n```\n\n### `DownloadFilesPayload`\n\n```ts\ntype DownloadFilesPayload = Array<{\n id: string | string // uuid\n version?: number\n}>\n```\n\n### `CreateZipJobPayload`\n\nRequest payload to create a ZIP job for bulk file download.\nProvide either an explicit list of `file_entity_ids` (up to 1000) or an\n`entity_query` that resolves to file entities (up to 10000).\n\n\n```ts\ntype CreateZipJobPayload = unknown | unknown\n```\n\n### `ZipJob`\n\nZIP job status and result\n\n```ts\ntype ZipJob = {\n job_id?: string // uuid\n status?: "queued" | "downloading" | "zipping" | "uploading" | "sending_notification" | "completed" | "failed"\n progress?: {\n total_files?: number\n downloaded_files?: number\n failed_files?: number\n }\n result?: {\n file_entity_id?: string // uuid\n download_url?: string // uri\n expires_at?: string // date-time\n zip_size_bytes?: number\n }\n error?: string\n created_at?: string // date-time\n created_by?: string\n org_id?: string\n updated_at?: string // date-time\n}\n```\n\n### `VerifyCustomDownloadUrlPayload`\n\n```ts\ntype VerifyCustomDownloadUrlPayload = {\n custom_download_url: string\n}\n```\n\n### `S3Reference`\n\n```ts\ntype S3Reference = {\n bucket: string\n key: string\n}\n```\n\n### `S3Ref`\n\n```ts\ntype S3Ref = {\n bucket: string\n key: string\n}\n```\n\n### `FileItem`\n\n```ts\ntype FileItem = {\n s3ref?: unknown\n filename?: string\n size_bytes?: number\n readable_size?: string\n mime_type?: string\n etag?: string\n}\n```\n\n### `FileRelationItem`\n\n```ts\ntype FileRelationItem = {\n entity_id: string\n _schema?: string\n _tags?: string[]\n}\n```\n\n### `PublicLink`\n\n```ts\ntype PublicLink = {\n id?: string\n link?: string\n last_accessed_at?: string\n}\n```\n\n### `BaseEntityOwner`\n\nThe user / organization owning this entity.\n\nNote: Owner implicitly has access to the entity regardless of ACLs.\n\n\n```ts\ntype BaseEntityOwner = {\n org_id: string\n user_id?: string\n}\n```\n\n### `BaseEntityAcl`\n\nAccess control list (ACL) for an entity. Defines sharing access to external orgs or users.\n\n```ts\ntype BaseEntityAcl = {\n view?: string[]\n edit?: string[]\n delete?: string[]\n}\n```\n\n### `ErrorObject`\n\nA generic error returned by the API\n\n```ts\ntype ErrorObject = {\n status?: number\n error?: string\n}\n```\n\n### `FileCollectionId`\n\nGenerated uuid for a file collection\n\n```ts\ntype FileCollectionId = string // uuid\n```\n\n### `FileCollectionItem`\n\nA file collection with identifiers and timestamps\n\n```ts\ntype FileCollectionItem = {\n slug?: string\n name: string\n id?: string // uuid\n parents?: string[]\n starred?: boolean\n order?: number\n enabled_locations?: string[]\n enabled_purposes?: string[]\n created_at?: string // date-time\n updated_at?: string // date-time\n}\n```\n\n### `FileCollectionAttributes`\n\n```ts\ntype FileCollectionAttributes = {\n name?: string\n parents?: string[]\n starred?: boolean\n enabled_locations?: string[]\n enabled_purposes?: string[]\n}\n```\n\n### `FileCollectionCreateRequest`\n\nRequest body for creating a file collection\n\n```ts\ntype FileCollectionCreateRequest = {\n name: string\n parents?: string[]\n starred?: boolean\n enabled_locations?: string[]\n enabled_purposes?: string[]\n}\n```\n';
5
+ export {
6
+ file_default as default
7
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunk424JLS5Gcjs = require('./chunk-424JLS5G.cjs');
4
+ require('./chunk-NJK5F5TF.cjs');
5
+ exports. default = _chunk424JLS5Gcjs.require_file_runtime.call(void 0, );