@epilot/sdk 2.0.0-beta.3 → 2.0.0-beta.4

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 (189) hide show
  1. package/definitions/access-token-runtime.json +1 -0
  2. package/definitions/access-token.json +663 -0
  3. package/definitions/address-runtime.json +1 -0
  4. package/definitions/address-suggestions-runtime.json +1 -0
  5. package/definitions/address-suggestions.json +582 -0
  6. package/definitions/address.json +578 -0
  7. package/definitions/ai-agents-runtime.json +1 -0
  8. package/definitions/ai-agents.json +1711 -0
  9. package/definitions/app-runtime.json +1 -0
  10. package/definitions/app.json +4443 -0
  11. package/definitions/audit-logs-runtime.json +1 -0
  12. package/definitions/audit-logs.json +305 -0
  13. package/definitions/automation-runtime.json +1 -0
  14. package/definitions/automation.json +4850 -0
  15. package/definitions/billing-runtime.json +1 -0
  16. package/definitions/billing.json +837 -0
  17. package/definitions/blueprint-manifest-runtime.json +1 -0
  18. package/definitions/blueprint-manifest.json +3376 -0
  19. package/definitions/consent-runtime.json +1 -0
  20. package/definitions/consent.json +344 -0
  21. package/definitions/customer-portal-runtime.json +1 -0
  22. package/definitions/customer-portal.json +15000 -0
  23. package/definitions/dashboard-runtime.json +1 -0
  24. package/definitions/dashboard.json +484 -0
  25. package/definitions/data-management-runtime.json +1 -0
  26. package/definitions/data-management.json +962 -0
  27. package/definitions/deduplication-runtime.json +1 -0
  28. package/definitions/deduplication.json +183 -0
  29. package/definitions/design-runtime.json +1 -0
  30. package/definitions/design.json +1423 -0
  31. package/definitions/document-runtime.json +1 -0
  32. package/definitions/document.json +758 -0
  33. package/definitions/email-settings-runtime.json +1 -0
  34. package/definitions/email-settings.json +2627 -0
  35. package/definitions/email-template-runtime.json +1 -0
  36. package/definitions/email-template.json +1419 -0
  37. package/definitions/entity-mapping-runtime.json +1 -0
  38. package/definitions/entity-mapping.json +1642 -0
  39. package/definitions/entity-runtime.json +1 -0
  40. package/definitions/entity.json +10074 -0
  41. package/definitions/environments-runtime.json +1 -0
  42. package/definitions/environments.json +363 -0
  43. package/definitions/erp-integration-runtime.json +1 -0
  44. package/definitions/erp-integration.json +5845 -0
  45. package/definitions/event-catalog-runtime.json +1 -0
  46. package/definitions/event-catalog.json +1051 -0
  47. package/definitions/file-runtime.json +1 -0
  48. package/definitions/file.json +2842 -0
  49. package/definitions/iban-runtime.json +1 -0
  50. package/definitions/iban.json +132 -0
  51. package/definitions/journey-runtime.json +1 -0
  52. package/definitions/journey.json +2341 -0
  53. package/definitions/kanban-runtime.json +1 -0
  54. package/definitions/kanban.json +929 -0
  55. package/definitions/message-runtime.json +1 -0
  56. package/definitions/message.json +2660 -0
  57. package/definitions/metering-runtime.json +1 -0
  58. package/definitions/metering.json +2321 -0
  59. package/definitions/notes-runtime.json +1 -0
  60. package/definitions/notes.json +1531 -0
  61. package/definitions/notification-runtime.json +1 -0
  62. package/definitions/notification.json +1425 -0
  63. package/definitions/organization-runtime.json +1 -0
  64. package/definitions/organization.json +629 -0
  65. package/definitions/partner-directory-runtime.json +1 -0
  66. package/definitions/partner-directory.json +1718 -0
  67. package/definitions/permissions-runtime.json +1 -0
  68. package/definitions/permissions.json +1480 -0
  69. package/definitions/pricing-runtime.json +1 -0
  70. package/definitions/pricing-tier-runtime.json +1 -0
  71. package/definitions/pricing-tier.json +105 -0
  72. package/definitions/pricing.json +9884 -0
  73. package/definitions/purpose-runtime.json +1 -0
  74. package/definitions/purpose.json +524 -0
  75. package/definitions/sandbox-runtime.json +1 -0
  76. package/definitions/sandbox.json +453 -0
  77. package/definitions/submission-runtime.json +1 -0
  78. package/definitions/submission.json +313 -0
  79. package/definitions/targeting-runtime.json +1 -0
  80. package/definitions/targeting.json +1474 -0
  81. package/definitions/template-variables-runtime.json +1 -0
  82. package/definitions/template-variables.json +1408 -0
  83. package/definitions/user-runtime.json +1 -0
  84. package/definitions/user.json +2408 -0
  85. package/definitions/validation-rules-runtime.json +1 -0
  86. package/definitions/validation-rules.json +1491 -0
  87. package/definitions/webhooks-runtime.json +1 -0
  88. package/definitions/webhooks.json +1525 -0
  89. package/definitions/workflow-definition-runtime.json +1 -0
  90. package/definitions/workflow-definition.json +3417 -0
  91. package/definitions/workflow-runtime.json +1 -0
  92. package/definitions/workflow.json +4106 -0
  93. package/dist/apis/access-token.cjs +13 -84
  94. package/dist/apis/access-token.js +11 -82
  95. package/dist/apis/address-suggestions.cjs +13 -127
  96. package/dist/apis/address-suggestions.js +11 -125
  97. package/dist/apis/address.cjs +13 -79
  98. package/dist/apis/address.js +11 -77
  99. package/dist/apis/ai-agents.cjs +13 -210
  100. package/dist/apis/ai-agents.js +11 -208
  101. package/dist/apis/app.cjs +13 -568
  102. package/dist/apis/app.js +11 -566
  103. package/dist/apis/audit-logs.cjs +13 -50
  104. package/dist/apis/audit-logs.js +11 -48
  105. package/dist/apis/automation.cjs +13 -277
  106. package/dist/apis/automation.js +11 -275
  107. package/dist/apis/billing.cjs +13 -170
  108. package/dist/apis/billing.js +11 -168
  109. package/dist/apis/blueprint-manifest.cjs +13 -499
  110. package/dist/apis/blueprint-manifest.js +11 -497
  111. package/dist/apis/consent.cjs +13 -79
  112. package/dist/apis/consent.js +11 -77
  113. package/dist/apis/customer-portal.cjs +13 -2247
  114. package/dist/apis/customer-portal.js +11 -2245
  115. package/dist/apis/dashboard.cjs +13 -79
  116. package/dist/apis/dashboard.js +11 -77
  117. package/dist/apis/data-management.cjs +13 -235
  118. package/dist/apis/data-management.js +11 -233
  119. package/dist/apis/deduplication.cjs +13 -37
  120. package/dist/apis/deduplication.js +11 -35
  121. package/dist/apis/design.cjs +13 -214
  122. package/dist/apis/design.js +11 -212
  123. package/dist/apis/document.cjs +13 -73
  124. package/dist/apis/document.js +11 -71
  125. package/dist/apis/email-settings.cjs +13 -528
  126. package/dist/apis/email-settings.js +11 -526
  127. package/dist/apis/email-template.cjs +13 -117
  128. package/dist/apis/email-template.js +11 -115
  129. package/dist/apis/entity-mapping.cjs +13 -210
  130. package/dist/apis/entity-mapping.js +11 -208
  131. package/dist/apis/entity.cjs +13 -1595
  132. package/dist/apis/entity.js +11 -1593
  133. package/dist/apis/environments.cjs +13 -66
  134. package/dist/apis/environments.js +11 -64
  135. package/dist/apis/erp-integration.cjs +13 -581
  136. package/dist/apis/erp-integration.js +11 -579
  137. package/dist/apis/event-catalog.cjs +13 -125
  138. package/dist/apis/event-catalog.js +11 -123
  139. package/dist/apis/file.cjs +13 -568
  140. package/dist/apis/file.js +11 -566
  141. package/dist/apis/iban.cjs +13 -38
  142. package/dist/apis/iban.js +11 -36
  143. package/dist/apis/journey.cjs +13 -265
  144. package/dist/apis/journey.js +11 -263
  145. package/dist/apis/kanban.cjs +13 -159
  146. package/dist/apis/kanban.js +11 -157
  147. package/dist/apis/message.cjs +13 -668
  148. package/dist/apis/message.js +11 -666
  149. package/dist/apis/metering.cjs +13 -394
  150. package/dist/apis/metering.js +11 -392
  151. package/dist/apis/notes.cjs +13 -214
  152. package/dist/apis/notes.js +11 -212
  153. package/dist/apis/notification.cjs +13 -232
  154. package/dist/apis/notification.js +11 -230
  155. package/dist/apis/organization.cjs +13 -113
  156. package/dist/apis/organization.js +11 -111
  157. package/dist/apis/partner-directory.cjs +13 -277
  158. package/dist/apis/partner-directory.js +11 -275
  159. package/dist/apis/permissions.cjs +13 -173
  160. package/dist/apis/permissions.js +11 -171
  161. package/dist/apis/pricing-tier.cjs +14 -32
  162. package/dist/apis/pricing-tier.js +11 -29
  163. package/dist/apis/pricing.cjs +13 -434
  164. package/dist/apis/pricing.js +11 -432
  165. package/dist/apis/purpose.cjs +13 -175
  166. package/dist/apis/purpose.js +11 -173
  167. package/dist/apis/sandbox.cjs +13 -95
  168. package/dist/apis/sandbox.js +11 -93
  169. package/dist/apis/submission.cjs +13 -50
  170. package/dist/apis/submission.js +11 -48
  171. package/dist/apis/targeting.cjs +13 -270
  172. package/dist/apis/targeting.js +11 -268
  173. package/dist/apis/template-variables.cjs +13 -154
  174. package/dist/apis/template-variables.js +11 -152
  175. package/dist/apis/user.cjs +13 -483
  176. package/dist/apis/user.js +11 -481
  177. package/dist/apis/validation-rules.cjs +13 -115
  178. package/dist/apis/validation-rules.js +11 -113
  179. package/dist/apis/webhooks.cjs +13 -247
  180. package/dist/apis/webhooks.js +11 -245
  181. package/dist/apis/workflow-definition.cjs +13 -337
  182. package/dist/apis/workflow-definition.js +11 -335
  183. package/dist/apis/workflow.cjs +13 -397
  184. package/dist/apis/workflow.js +11 -395
  185. package/dist/{chunk-D7ICL3AM.cjs → chunk-5LXNSDG2.cjs} +51 -2
  186. package/dist/{chunk-DGCGLG7G.js → chunk-QMQNMCOC.js} +49 -0
  187. package/dist/index.cjs +56 -54
  188. package/dist/index.js +53 -51
  189. package/package.json +50 -3
@@ -0,0 +1,758 @@
1
+ {
2
+ "openapi": "3.0.2",
3
+ "info": {
4
+ "title": "Document API",
5
+ "version": "1.0.0",
6
+ "description": "A document generation API that allows you to generate documents from templates with variables.\n\n[Feature Documentation](https://docs.epilot.io/docs/files/document-generation)\n"
7
+ },
8
+ "tags": [
9
+ {
10
+ "name": "Documents",
11
+ "description": "Document Generation"
12
+ }
13
+ ],
14
+ "security": [
15
+ {
16
+ "EpilotAuth": []
17
+ }
18
+ ],
19
+ "paths": {
20
+ "/v2/documents:meta": {
21
+ "post": {
22
+ "operationId": "getTemplateMeta",
23
+ "summary": "getTemplateMeta",
24
+ "description": "Get metadata for a document template\n\nSupported input document types:\n- .docx\n",
25
+ "tags": [
26
+ "Documents"
27
+ ],
28
+ "requestBody": {
29
+ "content": {
30
+ "application/json": {
31
+ "schema": {
32
+ "$ref": "#/components/schemas/DocumentMetaRequest"
33
+ }
34
+ }
35
+ }
36
+ },
37
+ "responses": {
38
+ "200": {
39
+ "description": "Document metadata",
40
+ "content": {
41
+ "application/json": {
42
+ "schema": {
43
+ "$ref": "#/components/schemas/DocumentMetaResponse"
44
+ }
45
+ }
46
+ }
47
+ },
48
+ "400": {
49
+ "description": "Bad request",
50
+ "content": {
51
+ "application/json": {
52
+ "schema": {
53
+ "$ref": "#/components/schemas/ErrorOutput"
54
+ }
55
+ }
56
+ }
57
+ },
58
+ "403": {
59
+ "description": "Forbidden",
60
+ "content": {
61
+ "application/json": {
62
+ "schema": {
63
+ "$ref": "#/components/schemas/ErrorOutput"
64
+ }
65
+ }
66
+ }
67
+ },
68
+ "415": {
69
+ "description": "Unsupported media type",
70
+ "content": {
71
+ "application/json": {
72
+ "schema": {
73
+ "$ref": "#/components/schemas/ErrorOutput"
74
+ }
75
+ }
76
+ }
77
+ }
78
+ }
79
+ }
80
+ },
81
+ "/v2/documents:generate": {
82
+ "post": {
83
+ "operationId": "generateDocumentV2",
84
+ "summary": "generateDocumentV2",
85
+ "description": "Generates documents from templates with variables.\n\nSupported document types as input:\n- .docx\n- .ics\n\nSupported document types as output:\n- .pdf\n- .docx but limited to only text based variables\n- .ics\n\nUses [Template Variables API](https://docs.epilot.io/api/template-variables) to replace variables in the input document.\n",
86
+ "parameters": [
87
+ {
88
+ "in": "query",
89
+ "name": "job_id",
90
+ "description": "Job ID for tracking the status of document generation action",
91
+ "schema": {
92
+ "type": "string"
93
+ }
94
+ },
95
+ {
96
+ "in": "query",
97
+ "name": "mode",
98
+ "description": "Type of mode used for document generation flow:\n- partial_generation will have a intermediate step for users to validate and replace the variable values before generating the final document.\n- full_generation, goes through all the steps for the full generation of final document\n",
99
+ "schema": {
100
+ "type": "string",
101
+ "enum": [
102
+ "partial_generation",
103
+ "full_generation"
104
+ ],
105
+ "default": "full_generation"
106
+ }
107
+ },
108
+ {
109
+ "in": "query",
110
+ "name": "preview_mode",
111
+ "description": "Type of mode used for document generation preview:\n- open - preview_url provides a link to open the file in a browser\n- download - preview_url provides a link to download the file\n",
112
+ "schema": {
113
+ "type": "string",
114
+ "enum": [
115
+ "open",
116
+ "download"
117
+ ],
118
+ "default": "open"
119
+ }
120
+ }
121
+ ],
122
+ "tags": [
123
+ "Documents"
124
+ ],
125
+ "requestBody": {
126
+ "content": {
127
+ "application/json": {
128
+ "schema": {
129
+ "$ref": "#/components/schemas/DocumentGenerationV2Request"
130
+ }
131
+ }
132
+ }
133
+ },
134
+ "responses": {
135
+ "200": {
136
+ "description": "Generated document output",
137
+ "content": {
138
+ "application/json": {
139
+ "schema": {
140
+ "$ref": "#/components/schemas/DocumentGenerationV2Response"
141
+ }
142
+ }
143
+ }
144
+ }
145
+ }
146
+ }
147
+ },
148
+ "/v2/documents:convert": {
149
+ "post": {
150
+ "operationId": "convertDocument",
151
+ "summary": "convertDocument",
152
+ "description": "Converts a document to a different format.\n\nSupported input document types:\n- .docx\n\nSupported output document types:\n- .pdf\n",
153
+ "tags": [
154
+ "Documents"
155
+ ],
156
+ "requestBody": {
157
+ "content": {
158
+ "application/json": {
159
+ "schema": {
160
+ "$ref": "#/components/schemas/ConvertDocumentRequest"
161
+ }
162
+ }
163
+ }
164
+ },
165
+ "responses": {
166
+ "200": {
167
+ "description": "Conversion job output",
168
+ "content": {
169
+ "application/json": {
170
+ "schema": {
171
+ "$ref": "#/components/schemas/ConvertDocumentResponse"
172
+ }
173
+ }
174
+ }
175
+ }
176
+ }
177
+ }
178
+ }
179
+ },
180
+ "components": {
181
+ "securitySchemes": {
182
+ "EpilotAuth": {
183
+ "type": "http",
184
+ "scheme": "bearer",
185
+ "description": "Authorization header with epilot OAuth2 bearer token",
186
+ "bearerFormat": "JWT"
187
+ }
188
+ },
189
+ "schemas": {
190
+ "S3Reference": {
191
+ "type": "object",
192
+ "properties": {
193
+ "bucket": {
194
+ "type": "string",
195
+ "example": "document-api-prod"
196
+ },
197
+ "key": {
198
+ "type": "string",
199
+ "example": "uploads/my-template.pdf"
200
+ }
201
+ },
202
+ "required": [
203
+ "bucket",
204
+ "key"
205
+ ]
206
+ },
207
+ "ErrorOutput": {
208
+ "type": "object",
209
+ "properties": {
210
+ "error_message": {
211
+ "description": "Error message",
212
+ "type": "string"
213
+ },
214
+ "error_code": {
215
+ "$ref": "#/components/schemas/ErrorCode"
216
+ },
217
+ "error_details": {
218
+ "anyOf": [
219
+ {
220
+ "$ref": "#/components/schemas/InvalidCustomVariableErrorDetails"
221
+ },
222
+ {
223
+ "$ref": "#/components/schemas/InternalErrorDetails"
224
+ },
225
+ {
226
+ "$ref": "#/components/schemas/DocxTemplaterErrorDetails"
227
+ }
228
+ ]
229
+ }
230
+ }
231
+ },
232
+ "InvalidCustomVariableErrorDetails": {
233
+ "description": "Error details for invalid custom variables. This error will appear under 'PARSE_ERROR' error code.",
234
+ "type": "array",
235
+ "items": {
236
+ "$ref": "#/components/schemas/InvalidCustomVariableErrorDetail"
237
+ }
238
+ },
239
+ "InvalidCustomVariableErrorDetail": {
240
+ "type": "object",
241
+ "additionalProperties": true,
242
+ "properties": {
243
+ "explanation": {
244
+ "description": "Explanation for the error",
245
+ "type": "string"
246
+ },
247
+ "context": {
248
+ "description": "Context for the error",
249
+ "type": "object",
250
+ "properties": {
251
+ "invalid_variables": {
252
+ "description": "List of invalid variables",
253
+ "type": "array",
254
+ "items": {
255
+ "type": "object",
256
+ "description": "Invalid variable",
257
+ "properties": {
258
+ "variable": {
259
+ "description": "Variable name",
260
+ "type": "string"
261
+ },
262
+ "error": {
263
+ "description": "Explanation for the error",
264
+ "type": "string"
265
+ }
266
+ }
267
+ }
268
+ }
269
+ }
270
+ }
271
+ }
272
+ },
273
+ "InternalErrorDetails": {
274
+ "description": "Error details for internal error. This error will appear under 'INTERNAL_ERROR' error code.",
275
+ "type": "array",
276
+ "items": {
277
+ "type": "object",
278
+ "properties": {
279
+ "items": {
280
+ "$ref": "#/components/schemas/InternalErrorDetail"
281
+ }
282
+ }
283
+ }
284
+ },
285
+ "InternalErrorDetail": {
286
+ "type": "object",
287
+ "description": "Internal error detail",
288
+ "properties": {
289
+ "name": {
290
+ "description": "Name of the error",
291
+ "type": "string"
292
+ },
293
+ "message": {
294
+ "description": "Error message",
295
+ "type": "string"
296
+ },
297
+ "stack": {
298
+ "description": "Stack trace",
299
+ "type": "string"
300
+ },
301
+ "cause": {
302
+ "description": "Cause of the error",
303
+ "type": "string"
304
+ }
305
+ }
306
+ },
307
+ "DocxTemplaterErrorDetails": {
308
+ "description": "Error details for DocxTemplater error. This error will appear under 'PARSE_ERROR' error code.\nSee https://docxtemplater.com/docs/errors/#error-schema for more details.\n",
309
+ "type": "array",
310
+ "items": {
311
+ "$ref": "#/components/schemas/DocxTemplaterErrorDetail"
312
+ }
313
+ },
314
+ "DocxTemplaterErrorDetail": {
315
+ "type": "object",
316
+ "description": "DocxTemplater error detail",
317
+ "properties": {
318
+ "id": {
319
+ "description": "Id of the error",
320
+ "type": "string"
321
+ },
322
+ "context": {
323
+ "description": "Context of the error",
324
+ "type": "string"
325
+ },
326
+ "explanation": {
327
+ "description": "Explanation of the error",
328
+ "type": "string"
329
+ }
330
+ }
331
+ },
332
+ "ErrorCode": {
333
+ "description": "Error codes for document generation:\n- PARSE_ERROR - Error while parsing the document. Normally related with a bad template using the wrong DocxTemplater syntax.\n- DOC_TO_PDF_CONVERT_ERROR - Error while converting the document to PDF. Normally related with a ConvertAPI failure.\n- INTERNAL_ERROR - Internal error. Please contact support.\n- INVALID_TEMPLATE_FORMAT - Invalid template format (only .docx is supported). This can happen due to a bad word file or an unsupported file extension.\n",
334
+ "type": "string",
335
+ "enum": [
336
+ "PARSE_ERROR",
337
+ "DOC_TO_PDF_CONVERT_ERROR",
338
+ "INTERNAL_ERROR",
339
+ "INVALID_TEMPLATE_FORMAT"
340
+ ]
341
+ },
342
+ "TemplateSettings": {
343
+ "type": "object",
344
+ "description": "Template Settings for document generation",
345
+ "properties": {
346
+ "custom_margins": {
347
+ "description": "Custom margins for the document",
348
+ "type": "object",
349
+ "properties": {
350
+ "top": {
351
+ "description": "Top margin in cm",
352
+ "type": "number",
353
+ "example": 2.54
354
+ },
355
+ "bottom": {
356
+ "description": "Bottom margin in cm",
357
+ "type": "number",
358
+ "example": 2.54
359
+ }
360
+ }
361
+ },
362
+ "suggested_margins": {
363
+ "description": "Suggested margins for the document",
364
+ "type": "object",
365
+ "properties": {
366
+ "top": {
367
+ "description": "Top margin in cm",
368
+ "type": "number",
369
+ "example": 2.54
370
+ },
371
+ "bottom": {
372
+ "description": "Bottom margin in cm",
373
+ "type": "number",
374
+ "example": 2.54
375
+ }
376
+ }
377
+ },
378
+ "display_margin_guidelines": {
379
+ "description": "Display margin guidelines (applicable to partial generation only)",
380
+ "type": "boolean",
381
+ "example": true
382
+ },
383
+ "enable_data_table_margin_autofix": {
384
+ "description": "Enable data table margin autofix",
385
+ "type": "boolean",
386
+ "example": false
387
+ },
388
+ "template_with_datatable": {
389
+ "description": "A flag that indicates whether the template has 1 or more data tables in it",
390
+ "type": "boolean",
391
+ "example": false
392
+ },
393
+ "enabled_template_settings_persistence": {
394
+ "description": "Enables the persistance of template settings",
395
+ "type": "boolean",
396
+ "example": false
397
+ },
398
+ "misconfigured_margins": {
399
+ "description": "An indication that the page margins are misconfigured",
400
+ "type": "boolean",
401
+ "example": false
402
+ },
403
+ "file_entity_id": {
404
+ "description": "The file entity id, used when persisting a new template version with updated settings",
405
+ "type": "string",
406
+ "format": "uuid",
407
+ "example": "1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p"
408
+ }
409
+ }
410
+ },
411
+ "DocumentMetaRequest": {
412
+ "type": "object",
413
+ "properties": {
414
+ "template_document": {
415
+ "description": "Input template document",
416
+ "type": "object",
417
+ "properties": {
418
+ "s3ref": {
419
+ "$ref": "#/components/schemas/S3Reference"
420
+ }
421
+ }
422
+ }
423
+ }
424
+ },
425
+ "DocumentMetaResponse": {
426
+ "type": "object",
427
+ "properties": {
428
+ "page_margins": {
429
+ "description": "Page margins for the document",
430
+ "type": "object",
431
+ "properties": {
432
+ "top": {
433
+ "description": "Top margin in cm",
434
+ "type": "number",
435
+ "example": 2.54
436
+ },
437
+ "bottom": {
438
+ "description": "Bottom margin in cm",
439
+ "type": "number",
440
+ "example": 2.54
441
+ },
442
+ "left": {
443
+ "description": "Left margin in cm",
444
+ "type": "number",
445
+ "example": 2.54
446
+ },
447
+ "right": {
448
+ "description": "Right margin in cm",
449
+ "type": "number",
450
+ "example": 2.54
451
+ },
452
+ "header": {
453
+ "description": "Header margin in cm",
454
+ "type": "number",
455
+ "example": 2.54
456
+ },
457
+ "footer": {
458
+ "description": "Footer margin in cm",
459
+ "type": "number",
460
+ "example": 2.54
461
+ }
462
+ }
463
+ },
464
+ "variables": {
465
+ "description": "List of variables in the document",
466
+ "type": "array",
467
+ "items": {
468
+ "type": "string"
469
+ },
470
+ "example": [
471
+ "order.billing_contact.0.salutation",
472
+ "order.billing_contact.0.title",
473
+ "order_table",
474
+ "stayHardStatic",
475
+ "opportunity[attribute_name]",
476
+ "opportunity[\"attribute_name\"]",
477
+ "opportunity.[attribute_name]",
478
+ "attribute_name",
479
+ "opportunities.0.attribute_name",
480
+ "opportunities[0].attribute_name",
481
+ "contact.opportunities[0].attribute_name",
482
+ "opportunities[Primary].attribute_name"
483
+ ]
484
+ }
485
+ }
486
+ },
487
+ "DocumentGenerationV2Request": {
488
+ "type": "object",
489
+ "properties": {
490
+ "template_document": {
491
+ "description": "Input template document",
492
+ "type": "object",
493
+ "properties": {
494
+ "filename": {
495
+ "type": "string",
496
+ "description": "Document original filename",
497
+ "example": "my-template-{{order.order_number}}.docx"
498
+ },
499
+ "s3ref": {
500
+ "$ref": "#/components/schemas/S3Reference"
501
+ }
502
+ }
503
+ },
504
+ "context_entity_id": {
505
+ "type": "string",
506
+ "format": "uuid",
507
+ "description": "Entity to use for variable context",
508
+ "example": "bcd0aab9-b544-42b0-8bfb-6d449d02eacc"
509
+ },
510
+ "user_id": {
511
+ "type": "string",
512
+ "description": "User Id for variable context",
513
+ "example": 100321
514
+ },
515
+ "language": {
516
+ "type": "string",
517
+ "description": "Language",
518
+ "example": "de"
519
+ },
520
+ "variable_payload": {
521
+ "description": "Custom values for variables in the template. Takes the higher precedence than others.",
522
+ "type": "object",
523
+ "properties": {
524
+ "additionalProperties": {
525
+ "type": "string"
526
+ }
527
+ }
528
+ },
529
+ "context_data": {
530
+ "description": "Custom values for variables in the template. Takes the higher precedence than others.",
531
+ "type": "object",
532
+ "properties": {
533
+ "additionalProperties": {
534
+ "type": "string"
535
+ }
536
+ }
537
+ },
538
+ "template_settings": {
539
+ "$ref": "#/components/schemas/TemplateSettings"
540
+ }
541
+ },
542
+ "required": [
543
+ "template_document"
544
+ ]
545
+ },
546
+ "DocumentGenerationV2Response": {
547
+ "type": "object",
548
+ "properties": {
549
+ "job_id": {
550
+ "type": "string",
551
+ "format": "uuid"
552
+ },
553
+ "job_status": {
554
+ "description": "Status of the job",
555
+ "type": "string",
556
+ "enum": [
557
+ "STARTED",
558
+ "PROCESSING",
559
+ "SUCCESS",
560
+ "FAILED"
561
+ ]
562
+ },
563
+ "message": {
564
+ "description": "A message explaining the progress",
565
+ "type": "string"
566
+ },
567
+ "ics_output": {
568
+ "type": "object",
569
+ "properties": {
570
+ "output_document": {
571
+ "type": "object",
572
+ "properties": {
573
+ "filename": {
574
+ "description": "Generated document filename for ICS",
575
+ "type": "string",
576
+ "example": "my-appointment-OR-001.ics"
577
+ },
578
+ "s3ref": {
579
+ "$ref": "#/components/schemas/S3Reference"
580
+ }
581
+ },
582
+ "example": {
583
+ "s3ref": {
584
+ "bucket": "document-api-preview-prod",
585
+ "key": "preview/my-appointment.ics"
586
+ }
587
+ }
588
+ }
589
+ }
590
+ },
591
+ "pdf_output": {
592
+ "type": "object",
593
+ "properties": {
594
+ "preview_url": {
595
+ "description": "Pre-signed S3 GET URL for PDF preview",
596
+ "type": "string",
597
+ "example": "https://document-api-prod.s3.eu-central-1.amazonaws.com/preview/my-template-OR-001.pdf"
598
+ },
599
+ "output_document": {
600
+ "type": "object",
601
+ "properties": {
602
+ "filename": {
603
+ "description": "Generated document filename for PDF",
604
+ "type": "string",
605
+ "example": "my-template-OR-001.pdf"
606
+ },
607
+ "s3ref": {
608
+ "$ref": "#/components/schemas/S3Reference"
609
+ }
610
+ },
611
+ "example": {
612
+ "s3ref": {
613
+ "bucket": "document-api-preview-prod",
614
+ "key": "preview/my-template.pdf"
615
+ }
616
+ }
617
+ }
618
+ }
619
+ },
620
+ "docx_output": {
621
+ "type": "object",
622
+ "properties": {
623
+ "preview_url": {
624
+ "description": "Pre-signed S3 GET URL for DOCX preview",
625
+ "type": "string",
626
+ "example": "https://document-api-prod.s3.eu-central-1.amazonaws.com/preview/my-template-OR-001.docx"
627
+ },
628
+ "output_document": {
629
+ "type": "object",
630
+ "properties": {
631
+ "filename": {
632
+ "description": "Generated document filename for DOCX",
633
+ "type": "string",
634
+ "example": "my-template-OR-001.docx"
635
+ },
636
+ "s3ref": {
637
+ "$ref": "#/components/schemas/S3Reference"
638
+ }
639
+ },
640
+ "example": {
641
+ "s3ref": {
642
+ "bucket": "document-api-preview-prod",
643
+ "key": "preview/my-template.docx"
644
+ }
645
+ }
646
+ }
647
+ }
648
+ },
649
+ "xlsx_output": {
650
+ "type": "object",
651
+ "properties": {
652
+ "preview_url": {
653
+ "description": "Pre-signed S3 GET URL for XLSX preview",
654
+ "type": "string",
655
+ "example": "https://document-api-prod.s3.eu-central-1.amazonaws.com/preview/my-template-OR-001.xlsx"
656
+ },
657
+ "output_document": {
658
+ "type": "object",
659
+ "properties": {
660
+ "filename": {
661
+ "description": "Generated document filename for XLSX",
662
+ "type": "string",
663
+ "example": "my-template-OR-001.xlsx"
664
+ },
665
+ "s3ref": {
666
+ "$ref": "#/components/schemas/S3Reference"
667
+ }
668
+ },
669
+ "example": {
670
+ "s3ref": {
671
+ "bucket": "document-api-preview-prod",
672
+ "key": "preview/my-template.xlsx"
673
+ }
674
+ }
675
+ }
676
+ }
677
+ },
678
+ "error_output": {
679
+ "$ref": "#/components/schemas/ErrorOutput"
680
+ },
681
+ "variable_payload": {
682
+ "description": "List of variables and its corresponding replaced values from the document template",
683
+ "type": "object",
684
+ "properties": {
685
+ "additionalProperties": {
686
+ "type": "string"
687
+ }
688
+ }
689
+ },
690
+ "template_settings": {
691
+ "$ref": "#/components/schemas/TemplateSettings"
692
+ }
693
+ }
694
+ },
695
+ "ConvertDocumentRequest": {
696
+ "type": "object",
697
+ "properties": {
698
+ "language": {
699
+ "type": "string",
700
+ "description": "Language",
701
+ "example": "de"
702
+ },
703
+ "input_document": {
704
+ "description": "Input document",
705
+ "type": "object",
706
+ "properties": {
707
+ "s3ref": {
708
+ "$ref": "#/components/schemas/S3Reference"
709
+ }
710
+ },
711
+ "required": [
712
+ "s3ref"
713
+ ]
714
+ },
715
+ "output_format": {
716
+ "description": "Output format of the document",
717
+ "type": "string",
718
+ "enum": [
719
+ "pdf"
720
+ ]
721
+ },
722
+ "output_filename": {
723
+ "description": "Filename of the output document (optional)",
724
+ "type": "string",
725
+ "example": "converted.pdf"
726
+ }
727
+ },
728
+ "required": [
729
+ "input_document",
730
+ "output_format"
731
+ ]
732
+ },
733
+ "ConvertDocumentResponse": {
734
+ "type": "object",
735
+ "properties": {
736
+ "output_document": {
737
+ "type": "object",
738
+ "properties": {
739
+ "preview_url": {
740
+ "description": "Pre-signed URL for the converted document",
741
+ "type": "string",
742
+ "example": "https://document-api-prod.s3.eu-central-1.amazonaws.com/preview/converted.pdf"
743
+ },
744
+ "s3ref": {
745
+ "$ref": "#/components/schemas/S3Reference"
746
+ }
747
+ }
748
+ }
749
+ }
750
+ }
751
+ }
752
+ },
753
+ "servers": [
754
+ {
755
+ "url": "https://document.sls.epilot.io"
756
+ }
757
+ ]
758
+ }