@epilot/sdk 2.20.24 → 2.20.25

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 (226) 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/chat.cjs +6 -6
  22. package/dist/apis/chat.js +1 -1
  23. package/dist/apis/configuration-hub.cjs +6 -6
  24. package/dist/apis/configuration-hub.js +1 -1
  25. package/dist/apis/consent.cjs +6 -6
  26. package/dist/apis/consent.js +1 -1
  27. package/dist/apis/customer-portal.cjs +6 -6
  28. package/dist/apis/customer-portal.js +1 -1
  29. package/dist/apis/dashboard.cjs +6 -6
  30. package/dist/apis/dashboard.js +1 -1
  31. package/dist/apis/data-governance.cjs +6 -6
  32. package/dist/apis/data-governance.js +1 -1
  33. package/dist/apis/deduplication.cjs +6 -6
  34. package/dist/apis/deduplication.js +1 -1
  35. package/dist/apis/design.cjs +6 -6
  36. package/dist/apis/design.js +1 -1
  37. package/dist/apis/document.cjs +6 -6
  38. package/dist/apis/document.js +1 -1
  39. package/dist/apis/email-settings.cjs +6 -6
  40. package/dist/apis/email-settings.js +1 -1
  41. package/dist/apis/email-template.cjs +6 -6
  42. package/dist/apis/email-template.js +1 -1
  43. package/dist/apis/entity-mapping.cjs +6 -6
  44. package/dist/apis/entity-mapping.js +1 -1
  45. package/dist/apis/entity.cjs +6 -6
  46. package/dist/apis/entity.js +1 -1
  47. package/dist/apis/environments.cjs +6 -6
  48. package/dist/apis/environments.js +1 -1
  49. package/dist/apis/event-catalog.cjs +6 -6
  50. package/dist/apis/event-catalog.js +1 -1
  51. package/dist/apis/file.cjs +6 -6
  52. package/dist/apis/file.js +1 -1
  53. package/dist/apis/iban.cjs +6 -6
  54. package/dist/apis/iban.js +1 -1
  55. package/dist/apis/integration-toolkit.cjs +6 -6
  56. package/dist/apis/integration-toolkit.d.cts +2 -2
  57. package/dist/apis/integration-toolkit.d.ts +2 -2
  58. package/dist/apis/integration-toolkit.js +1 -1
  59. package/dist/apis/journey.cjs +6 -6
  60. package/dist/apis/journey.js +1 -1
  61. package/dist/apis/kanban.cjs +6 -6
  62. package/dist/apis/kanban.js +1 -1
  63. package/dist/apis/message.cjs +6 -6
  64. package/dist/apis/message.js +1 -1
  65. package/dist/apis/metering.cjs +6 -6
  66. package/dist/apis/metering.js +1 -1
  67. package/dist/apis/notes.cjs +6 -6
  68. package/dist/apis/notes.js +1 -1
  69. package/dist/apis/notification.cjs +6 -6
  70. package/dist/apis/notification.js +1 -1
  71. package/dist/apis/organization.cjs +6 -6
  72. package/dist/apis/organization.js +1 -1
  73. package/dist/apis/partner-directory.cjs +6 -6
  74. package/dist/apis/partner-directory.js +1 -1
  75. package/dist/apis/permissions.cjs +6 -6
  76. package/dist/apis/permissions.js +1 -1
  77. package/dist/apis/pricing-tier.cjs +6 -6
  78. package/dist/apis/pricing-tier.js +1 -1
  79. package/dist/apis/pricing.cjs +6 -6
  80. package/dist/apis/pricing.js +1 -1
  81. package/dist/apis/purpose.cjs +6 -6
  82. package/dist/apis/purpose.js +1 -1
  83. package/dist/apis/query.cjs +6 -6
  84. package/dist/apis/query.js +1 -1
  85. package/dist/apis/sandbox.cjs +6 -6
  86. package/dist/apis/sandbox.js +1 -1
  87. package/dist/apis/sharing.cjs +6 -6
  88. package/dist/apis/sharing.js +1 -1
  89. package/dist/apis/snapshot.cjs +6 -6
  90. package/dist/apis/snapshot.js +1 -1
  91. package/dist/apis/submission.cjs +6 -6
  92. package/dist/apis/submission.js +1 -1
  93. package/dist/apis/target.cjs +6 -6
  94. package/dist/apis/target.js +1 -1
  95. package/dist/apis/targeting.cjs +6 -6
  96. package/dist/apis/targeting.js +1 -1
  97. package/dist/apis/template-variables.cjs +6 -6
  98. package/dist/apis/template-variables.js +1 -1
  99. package/dist/apis/user.cjs +6 -6
  100. package/dist/apis/user.js +1 -1
  101. package/dist/apis/validation-rules.cjs +6 -6
  102. package/dist/apis/validation-rules.js +1 -1
  103. package/dist/apis/webhooks.cjs +6 -6
  104. package/dist/apis/webhooks.js +1 -1
  105. package/dist/apis/workflow-definition.cjs +6 -6
  106. package/dist/apis/workflow-definition.js +1 -1
  107. package/dist/apis/workflow.cjs +6 -6
  108. package/dist/apis/workflow.js +1 -1
  109. package/dist/{chunk-B43U4DLU.cjs → chunk-PZ4TXAF5.cjs} +1 -1
  110. package/dist/{chunk-5D6VD6OZ.js → chunk-X742W7MI.js} +1 -1
  111. package/dist/index.cjs +8 -8
  112. package/dist/index.d.cts +1 -1
  113. package/dist/index.d.ts +1 -1
  114. package/dist/index.js +1 -1
  115. package/dist/integration-toolkit-FHPQSYLH.js +7 -0
  116. package/dist/integration-toolkit-YBZJK4IG.cjs +7 -0
  117. package/dist/{integration-toolkit.d-bhpB79pc.d.ts → integration-toolkit.d--hon4GPp.d.cts} +79 -26
  118. package/dist/{integration-toolkit.d-bhpB79pc.d.cts → integration-toolkit.d--hon4GPp.d.ts} +79 -26
  119. package/docs/integration-toolkit.md +19 -250
  120. package/package.json +1 -1
  121. package/definitions/access-token-runtime.json +0 -1
  122. package/definitions/access-token.json +0 -1025
  123. package/definitions/address-runtime.json +0 -1
  124. package/definitions/address-suggestions-runtime.json +0 -1
  125. package/definitions/address-suggestions.json +0 -582
  126. package/definitions/address.json +0 -578
  127. package/definitions/ai-agents-runtime.json +0 -1
  128. package/definitions/ai-agents.json +0 -2863
  129. package/definitions/app-runtime.json +0 -1
  130. package/definitions/app.json +0 -5994
  131. package/definitions/audit-logs-runtime.json +0 -1
  132. package/definitions/audit-logs.json +0 -305
  133. package/definitions/automation-runtime.json +0 -1
  134. package/definitions/automation.json +0 -5979
  135. package/definitions/billing-runtime.json +0 -1
  136. package/definitions/billing.json +0 -2394
  137. package/definitions/blueprint-manifest-runtime.json +0 -1
  138. package/definitions/blueprint-manifest.json +0 -7817
  139. package/definitions/calendar-runtime.json +0 -1
  140. package/definitions/calendar.json +0 -2904
  141. package/definitions/chat-runtime.json +0 -1
  142. package/definitions/chat.json +0 -2909
  143. package/definitions/configuration-hub-runtime.json +0 -1
  144. package/definitions/configuration-hub.json +0 -2250
  145. package/definitions/consent-runtime.json +0 -1
  146. package/definitions/consent.json +0 -344
  147. package/definitions/customer-portal-runtime.json +0 -1
  148. package/definitions/customer-portal.json +0 -21181
  149. package/definitions/dashboard-runtime.json +0 -1
  150. package/definitions/dashboard.json +0 -1355
  151. package/definitions/data-governance-runtime.json +0 -1
  152. package/definitions/data-governance.json +0 -1126
  153. package/definitions/deduplication-runtime.json +0 -1
  154. package/definitions/deduplication.json +0 -782
  155. package/definitions/design-runtime.json +0 -1
  156. package/definitions/design.json +0 -1827
  157. package/definitions/document-runtime.json +0 -1
  158. package/definitions/document.json +0 -758
  159. package/definitions/email-settings-runtime.json +0 -1
  160. package/definitions/email-settings.json +0 -3736
  161. package/definitions/email-template-runtime.json +0 -1
  162. package/definitions/email-template.json +0 -1441
  163. package/definitions/entity-mapping-runtime.json +0 -1
  164. package/definitions/entity-mapping.json +0 -1852
  165. package/definitions/entity-runtime.json +0 -1
  166. package/definitions/entity.json +0 -11546
  167. package/definitions/environments-runtime.json +0 -1
  168. package/definitions/environments.json +0 -988
  169. package/definitions/event-catalog-runtime.json +0 -1
  170. package/definitions/event-catalog.json +0 -2014
  171. package/definitions/file-runtime.json +0 -1
  172. package/definitions/file.json +0 -4298
  173. package/definitions/iban-runtime.json +0 -1
  174. package/definitions/iban.json +0 -132
  175. package/definitions/integration-toolkit-runtime.json +0 -1
  176. package/definitions/integration-toolkit.json +0 -13069
  177. package/definitions/journey-runtime.json +0 -1
  178. package/definitions/journey.json +0 -3586
  179. package/definitions/kanban-runtime.json +0 -1
  180. package/definitions/kanban.json +0 -1506
  181. package/definitions/message-runtime.json +0 -1
  182. package/definitions/message.json +0 -3667
  183. package/definitions/metering-runtime.json +0 -1
  184. package/definitions/metering.json +0 -3132
  185. package/definitions/notes-runtime.json +0 -1
  186. package/definitions/notes.json +0 -1698
  187. package/definitions/notification-runtime.json +0 -1
  188. package/definitions/notification.json +0 -1439
  189. package/definitions/organization-runtime.json +0 -1
  190. package/definitions/organization.json +0 -1192
  191. package/definitions/partner-directory-runtime.json +0 -1
  192. package/definitions/partner-directory.json +0 -2284
  193. package/definitions/permissions-runtime.json +0 -1
  194. package/definitions/permissions.json +0 -1598
  195. package/definitions/pricing-runtime.json +0 -1
  196. package/definitions/pricing-tier-runtime.json +0 -1
  197. package/definitions/pricing-tier.json +0 -105
  198. package/definitions/pricing.json +0 -14369
  199. package/definitions/purpose-runtime.json +0 -1
  200. package/definitions/purpose.json +0 -524
  201. package/definitions/query-runtime.json +0 -1
  202. package/definitions/query.json +0 -3178
  203. package/definitions/sandbox-runtime.json +0 -1
  204. package/definitions/sandbox.json +0 -453
  205. package/definitions/sharing-runtime.json +0 -1
  206. package/definitions/sharing.json +0 -956
  207. package/definitions/snapshot-runtime.json +0 -1
  208. package/definitions/snapshot.json +0 -1103
  209. package/definitions/submission-runtime.json +0 -1
  210. package/definitions/submission.json +0 -313
  211. package/definitions/targeting-runtime.json +0 -1
  212. package/definitions/targeting.json +0 -2285
  213. package/definitions/template-variables-runtime.json +0 -1
  214. package/definitions/template-variables.json +0 -1416
  215. package/definitions/user-runtime.json +0 -1
  216. package/definitions/user.json +0 -3051
  217. package/definitions/validation-rules-runtime.json +0 -1
  218. package/definitions/validation-rules.json +0 -2642
  219. package/definitions/webhooks-runtime.json +0 -1
  220. package/definitions/webhooks.json +0 -1875
  221. package/definitions/workflow-definition-runtime.json +0 -1
  222. package/definitions/workflow-definition.json +0 -3592
  223. package/definitions/workflow-runtime.json +0 -1
  224. package/definitions/workflow.json +0 -4669
  225. package/dist/integration-toolkit-GOFVOMNH.js +0 -7
  226. package/dist/integration-toolkit-XMM5LLK6.cjs +0 -7
@@ -1,2909 +0,0 @@
1
- {
2
- "openapi": "3.0.3",
3
- "info": {
4
- "title": "epilot Chat API",
5
- "version": "0.1.0",
6
- "description": "Widget management and anonymous browser chat."
7
- },
8
- "servers": [
9
- {
10
- "url": "https://chat.sls.epilot.io"
11
- }
12
- ],
13
- "security": [
14
- {
15
- "EpilotAuth": []
16
- }
17
- ],
18
- "paths": {
19
- "/v1/widgets": {
20
- "get": {
21
- "tags": [
22
- "Chat widgets"
23
- ],
24
- "operationId": "listChatWidgets",
25
- "security": [
26
- {
27
- "EpilotAuth": []
28
- }
29
- ],
30
- "responses": {
31
- "200": {
32
- "description": "Widget response",
33
- "content": {
34
- "application/json": {
35
- "schema": {
36
- "type": "object",
37
- "required": [
38
- "widgets"
39
- ],
40
- "properties": {
41
- "widgets": {
42
- "type": "array",
43
- "items": {
44
- "type": "object",
45
- "required": [
46
- "widget_id",
47
- "org_id",
48
- "agent_id",
49
- "binding_id",
50
- "version",
51
- "name",
52
- "website_chat",
53
- "website_chat_embed",
54
- "created_at",
55
- "updated_at"
56
- ],
57
- "properties": {
58
- "name": {
59
- "type": "string",
60
- "minLength": 1,
61
- "maxLength": 100
62
- },
63
- "agent_id": {
64
- "type": "string",
65
- "format": "uuid",
66
- "nullable": true
67
- },
68
- "website_chat": {
69
- "type": "object",
70
- "additionalProperties": false,
71
- "required": [
72
- "allowed_origins",
73
- "organisation_name",
74
- "default_locale"
75
- ],
76
- "properties": {
77
- "allowed_origins": {
78
- "type": "array",
79
- "maxItems": 50,
80
- "uniqueItems": true,
81
- "description": "Exact HTTPS origins. Empty means the widget cannot start sessions.",
82
- "items": {
83
- "type": "string",
84
- "maxLength": 2048
85
- }
86
- },
87
- "organisation_name": {
88
- "type": "string",
89
- "minLength": 1,
90
- "maxLength": 100
91
- },
92
- "default_locale": {
93
- "type": "string",
94
- "enum": [
95
- "en",
96
- "de"
97
- ]
98
- },
99
- "design_id": {
100
- "type": "string",
101
- "format": "uuid",
102
- "nullable": true,
103
- "description": "Design Builder configuration for the widget only."
104
- },
105
- "authentication": {
106
- "type": "object",
107
- "additionalProperties": false,
108
- "properties": {
109
- "email_code": {
110
- "type": "object",
111
- "additionalProperties": false,
112
- "properties": {
113
- "email_template_id": {
114
- "type": "string",
115
- "format": "uuid",
116
- "nullable": true
117
- }
118
- }
119
- }
120
- },
121
- "nullable": true,
122
- "description": "Email Builder template selection. Does not enable verification by itself.",
123
- "required": [
124
- "email_code"
125
- ]
126
- }
127
- }
128
- },
129
- "widget_id": {
130
- "type": "string",
131
- "format": "uuid",
132
- "readOnly": true,
133
- "description": "Stable public embed identifier, independent of the assigned agent. Not a credential."
134
- },
135
- "org_id": {
136
- "type": "string",
137
- "readOnly": true
138
- },
139
- "binding_id": {
140
- "type": "string",
141
- "format": "uuid",
142
- "readOnly": true,
143
- "description": "Server-owned session binding; changes on reassignment or allowed-origin changes."
144
- },
145
- "version": {
146
- "type": "integer",
147
- "minimum": 1,
148
- "readOnly": true
149
- },
150
- "created_at": {
151
- "type": "string",
152
- "format": "date-time",
153
- "readOnly": true
154
- },
155
- "updated_at": {
156
- "type": "string",
157
- "format": "date-time",
158
- "readOnly": true
159
- },
160
- "website_chat_embed": {
161
- "type": "object",
162
- "readOnly": true,
163
- "required": [
164
- "script_url",
165
- "chat_api_origin",
166
- "demo_url"
167
- ],
168
- "properties": {
169
- "script_url": {
170
- "type": "string",
171
- "format": "uri"
172
- },
173
- "chat_api_origin": {
174
- "type": "string",
175
- "format": "uri"
176
- },
177
- "demo_url": {
178
- "type": "string",
179
- "format": "uri"
180
- }
181
- }
182
- }
183
- }
184
- }
185
- },
186
- "next_cursor": {
187
- "type": "string"
188
- }
189
- }
190
- }
191
- }
192
- }
193
- },
194
- "400": {
195
- "description": "Invalid widget settings",
196
- "content": {
197
- "application/json": {
198
- "schema": {
199
- "type": "object",
200
- "properties": {
201
- "error": {
202
- "type": "string"
203
- },
204
- "message": {
205
- "type": "string"
206
- },
207
- "details": {
208
- "type": "object"
209
- }
210
- }
211
- }
212
- }
213
- }
214
- },
215
- "404": {
216
- "description": "Widget not found in this organisation",
217
- "content": {
218
- "application/json": {
219
- "schema": {
220
- "type": "object",
221
- "properties": {
222
- "error": {
223
- "type": "string"
224
- },
225
- "message": {
226
- "type": "string"
227
- },
228
- "details": {
229
- "type": "object"
230
- }
231
- }
232
- }
233
- }
234
- }
235
- },
236
- "409": {
237
- "description": "Widget or assigned agent changed; reload before retrying",
238
- "content": {
239
- "application/json": {
240
- "schema": {
241
- "type": "object",
242
- "properties": {
243
- "error": {
244
- "type": "string"
245
- },
246
- "message": {
247
- "type": "string"
248
- },
249
- "details": {
250
- "type": "object"
251
- }
252
- }
253
- }
254
- }
255
- }
256
- }
257
- },
258
- "parameters": [
259
- {
260
- "in": "query",
261
- "name": "cursor",
262
- "schema": {
263
- "type": "string",
264
- "maxLength": 1024
265
- }
266
- }
267
- ]
268
- },
269
- "post": {
270
- "tags": [
271
- "Chat widgets"
272
- ],
273
- "operationId": "createChatWidget",
274
- "security": [
275
- {
276
- "EpilotAuth": []
277
- }
278
- ],
279
- "responses": {
280
- "201": {
281
- "description": "Widget response",
282
- "content": {
283
- "application/json": {
284
- "schema": {
285
- "type": "object",
286
- "required": [
287
- "widget_id",
288
- "org_id",
289
- "agent_id",
290
- "binding_id",
291
- "version",
292
- "name",
293
- "website_chat",
294
- "website_chat_embed",
295
- "created_at",
296
- "updated_at"
297
- ],
298
- "properties": {
299
- "name": {
300
- "type": "string",
301
- "minLength": 1,
302
- "maxLength": 100
303
- },
304
- "agent_id": {
305
- "type": "string",
306
- "format": "uuid",
307
- "nullable": true
308
- },
309
- "website_chat": {
310
- "type": "object",
311
- "additionalProperties": false,
312
- "required": [
313
- "allowed_origins",
314
- "organisation_name",
315
- "default_locale"
316
- ],
317
- "properties": {
318
- "allowed_origins": {
319
- "type": "array",
320
- "maxItems": 50,
321
- "uniqueItems": true,
322
- "description": "Exact HTTPS origins. Empty means the widget cannot start sessions.",
323
- "items": {
324
- "type": "string",
325
- "maxLength": 2048
326
- }
327
- },
328
- "organisation_name": {
329
- "type": "string",
330
- "minLength": 1,
331
- "maxLength": 100
332
- },
333
- "default_locale": {
334
- "type": "string",
335
- "enum": [
336
- "en",
337
- "de"
338
- ]
339
- },
340
- "design_id": {
341
- "type": "string",
342
- "format": "uuid",
343
- "nullable": true,
344
- "description": "Design Builder configuration for the widget only."
345
- },
346
- "authentication": {
347
- "type": "object",
348
- "additionalProperties": false,
349
- "properties": {
350
- "email_code": {
351
- "type": "object",
352
- "additionalProperties": false,
353
- "properties": {
354
- "email_template_id": {
355
- "type": "string",
356
- "format": "uuid",
357
- "nullable": true
358
- }
359
- }
360
- }
361
- },
362
- "nullable": true,
363
- "description": "Email Builder template selection. Does not enable verification by itself.",
364
- "required": [
365
- "email_code"
366
- ]
367
- }
368
- }
369
- },
370
- "widget_id": {
371
- "type": "string",
372
- "format": "uuid",
373
- "readOnly": true,
374
- "description": "Stable public embed identifier, independent of the assigned agent. Not a credential."
375
- },
376
- "org_id": {
377
- "type": "string",
378
- "readOnly": true
379
- },
380
- "binding_id": {
381
- "type": "string",
382
- "format": "uuid",
383
- "readOnly": true,
384
- "description": "Server-owned session binding; changes on reassignment or allowed-origin changes."
385
- },
386
- "version": {
387
- "type": "integer",
388
- "minimum": 1,
389
- "readOnly": true
390
- },
391
- "created_at": {
392
- "type": "string",
393
- "format": "date-time",
394
- "readOnly": true
395
- },
396
- "updated_at": {
397
- "type": "string",
398
- "format": "date-time",
399
- "readOnly": true
400
- },
401
- "website_chat_embed": {
402
- "type": "object",
403
- "readOnly": true,
404
- "required": [
405
- "script_url",
406
- "chat_api_origin",
407
- "demo_url"
408
- ],
409
- "properties": {
410
- "script_url": {
411
- "type": "string",
412
- "format": "uri"
413
- },
414
- "chat_api_origin": {
415
- "type": "string",
416
- "format": "uri"
417
- },
418
- "demo_url": {
419
- "type": "string",
420
- "format": "uri"
421
- }
422
- }
423
- }
424
- }
425
- }
426
- }
427
- }
428
- },
429
- "400": {
430
- "description": "Invalid widget settings",
431
- "content": {
432
- "application/json": {
433
- "schema": {
434
- "type": "object",
435
- "properties": {
436
- "error": {
437
- "type": "string"
438
- },
439
- "message": {
440
- "type": "string"
441
- },
442
- "details": {
443
- "type": "object"
444
- }
445
- }
446
- }
447
- }
448
- }
449
- },
450
- "404": {
451
- "description": "Widget not found in this organisation",
452
- "content": {
453
- "application/json": {
454
- "schema": {
455
- "type": "object",
456
- "properties": {
457
- "error": {
458
- "type": "string"
459
- },
460
- "message": {
461
- "type": "string"
462
- },
463
- "details": {
464
- "type": "object"
465
- }
466
- }
467
- }
468
- }
469
- }
470
- },
471
- "409": {
472
- "description": "Widget or assigned agent changed; reload before retrying",
473
- "content": {
474
- "application/json": {
475
- "schema": {
476
- "type": "object",
477
- "properties": {
478
- "error": {
479
- "type": "string"
480
- },
481
- "message": {
482
- "type": "string"
483
- },
484
- "details": {
485
- "type": "object"
486
- }
487
- }
488
- }
489
- }
490
- }
491
- }
492
- },
493
- "requestBody": {
494
- "required": true,
495
- "content": {
496
- "application/json": {
497
- "schema": {
498
- "type": "object",
499
- "additionalProperties": false,
500
- "required": [
501
- "name",
502
- "agent_id",
503
- "website_chat"
504
- ],
505
- "properties": {
506
- "name": {
507
- "type": "string",
508
- "minLength": 1,
509
- "maxLength": 100
510
- },
511
- "agent_id": {
512
- "type": "string",
513
- "format": "uuid",
514
- "nullable": true
515
- },
516
- "website_chat": {
517
- "type": "object",
518
- "additionalProperties": false,
519
- "required": [
520
- "allowed_origins",
521
- "organisation_name",
522
- "default_locale"
523
- ],
524
- "properties": {
525
- "allowed_origins": {
526
- "type": "array",
527
- "maxItems": 50,
528
- "uniqueItems": true,
529
- "description": "Exact HTTPS origins. Empty means the widget cannot start sessions.",
530
- "items": {
531
- "type": "string",
532
- "maxLength": 2048
533
- }
534
- },
535
- "organisation_name": {
536
- "type": "string",
537
- "minLength": 1,
538
- "maxLength": 100
539
- },
540
- "default_locale": {
541
- "type": "string",
542
- "enum": [
543
- "en",
544
- "de"
545
- ]
546
- },
547
- "design_id": {
548
- "type": "string",
549
- "format": "uuid",
550
- "nullable": true,
551
- "description": "Design Builder configuration for the widget only."
552
- },
553
- "authentication": {
554
- "type": "object",
555
- "additionalProperties": false,
556
- "properties": {
557
- "email_code": {
558
- "type": "object",
559
- "additionalProperties": false,
560
- "properties": {
561
- "email_template_id": {
562
- "type": "string",
563
- "format": "uuid",
564
- "nullable": true
565
- }
566
- }
567
- }
568
- },
569
- "nullable": true,
570
- "description": "Email Builder template selection. Does not enable verification by itself.",
571
- "required": [
572
- "email_code"
573
- ]
574
- }
575
- }
576
- }
577
- }
578
- }
579
- }
580
- }
581
- }
582
- }
583
- },
584
- "/v1/widgets/{widget_id}": {
585
- "parameters": [
586
- {
587
- "in": "path",
588
- "name": "widget_id",
589
- "required": true,
590
- "schema": {
591
- "type": "string",
592
- "format": "uuid"
593
- }
594
- }
595
- ],
596
- "get": {
597
- "tags": [
598
- "Chat widgets"
599
- ],
600
- "operationId": "getChatWidget",
601
- "security": [
602
- {
603
- "EpilotAuth": []
604
- }
605
- ],
606
- "responses": {
607
- "200": {
608
- "description": "Widget response",
609
- "content": {
610
- "application/json": {
611
- "schema": {
612
- "type": "object",
613
- "required": [
614
- "widget_id",
615
- "org_id",
616
- "agent_id",
617
- "binding_id",
618
- "version",
619
- "name",
620
- "website_chat",
621
- "website_chat_embed",
622
- "created_at",
623
- "updated_at"
624
- ],
625
- "properties": {
626
- "name": {
627
- "type": "string",
628
- "minLength": 1,
629
- "maxLength": 100
630
- },
631
- "agent_id": {
632
- "type": "string",
633
- "format": "uuid",
634
- "nullable": true
635
- },
636
- "website_chat": {
637
- "type": "object",
638
- "additionalProperties": false,
639
- "required": [
640
- "allowed_origins",
641
- "organisation_name",
642
- "default_locale"
643
- ],
644
- "properties": {
645
- "allowed_origins": {
646
- "type": "array",
647
- "maxItems": 50,
648
- "uniqueItems": true,
649
- "description": "Exact HTTPS origins. Empty means the widget cannot start sessions.",
650
- "items": {
651
- "type": "string",
652
- "maxLength": 2048
653
- }
654
- },
655
- "organisation_name": {
656
- "type": "string",
657
- "minLength": 1,
658
- "maxLength": 100
659
- },
660
- "default_locale": {
661
- "type": "string",
662
- "enum": [
663
- "en",
664
- "de"
665
- ]
666
- },
667
- "design_id": {
668
- "type": "string",
669
- "format": "uuid",
670
- "nullable": true,
671
- "description": "Design Builder configuration for the widget only."
672
- },
673
- "authentication": {
674
- "type": "object",
675
- "additionalProperties": false,
676
- "properties": {
677
- "email_code": {
678
- "type": "object",
679
- "additionalProperties": false,
680
- "properties": {
681
- "email_template_id": {
682
- "type": "string",
683
- "format": "uuid",
684
- "nullable": true
685
- }
686
- }
687
- }
688
- },
689
- "nullable": true,
690
- "description": "Email Builder template selection. Does not enable verification by itself.",
691
- "required": [
692
- "email_code"
693
- ]
694
- }
695
- }
696
- },
697
- "widget_id": {
698
- "type": "string",
699
- "format": "uuid",
700
- "readOnly": true,
701
- "description": "Stable public embed identifier, independent of the assigned agent. Not a credential."
702
- },
703
- "org_id": {
704
- "type": "string",
705
- "readOnly": true
706
- },
707
- "binding_id": {
708
- "type": "string",
709
- "format": "uuid",
710
- "readOnly": true,
711
- "description": "Server-owned session binding; changes on reassignment or allowed-origin changes."
712
- },
713
- "version": {
714
- "type": "integer",
715
- "minimum": 1,
716
- "readOnly": true
717
- },
718
- "created_at": {
719
- "type": "string",
720
- "format": "date-time",
721
- "readOnly": true
722
- },
723
- "updated_at": {
724
- "type": "string",
725
- "format": "date-time",
726
- "readOnly": true
727
- },
728
- "website_chat_embed": {
729
- "type": "object",
730
- "readOnly": true,
731
- "required": [
732
- "script_url",
733
- "chat_api_origin",
734
- "demo_url"
735
- ],
736
- "properties": {
737
- "script_url": {
738
- "type": "string",
739
- "format": "uri"
740
- },
741
- "chat_api_origin": {
742
- "type": "string",
743
- "format": "uri"
744
- },
745
- "demo_url": {
746
- "type": "string",
747
- "format": "uri"
748
- }
749
- }
750
- }
751
- }
752
- }
753
- }
754
- }
755
- },
756
- "400": {
757
- "description": "Invalid widget settings",
758
- "content": {
759
- "application/json": {
760
- "schema": {
761
- "type": "object",
762
- "properties": {
763
- "error": {
764
- "type": "string"
765
- },
766
- "message": {
767
- "type": "string"
768
- },
769
- "details": {
770
- "type": "object"
771
- }
772
- }
773
- }
774
- }
775
- }
776
- },
777
- "404": {
778
- "description": "Widget not found in this organisation",
779
- "content": {
780
- "application/json": {
781
- "schema": {
782
- "type": "object",
783
- "properties": {
784
- "error": {
785
- "type": "string"
786
- },
787
- "message": {
788
- "type": "string"
789
- },
790
- "details": {
791
- "type": "object"
792
- }
793
- }
794
- }
795
- }
796
- }
797
- },
798
- "409": {
799
- "description": "Widget or assigned agent changed; reload before retrying",
800
- "content": {
801
- "application/json": {
802
- "schema": {
803
- "type": "object",
804
- "properties": {
805
- "error": {
806
- "type": "string"
807
- },
808
- "message": {
809
- "type": "string"
810
- },
811
- "details": {
812
- "type": "object"
813
- }
814
- }
815
- }
816
- }
817
- }
818
- }
819
- }
820
- },
821
- "put": {
822
- "tags": [
823
- "Chat widgets"
824
- ],
825
- "operationId": "updateChatWidget",
826
- "security": [
827
- {
828
- "EpilotAuth": []
829
- }
830
- ],
831
- "responses": {
832
- "200": {
833
- "description": "Widget response",
834
- "content": {
835
- "application/json": {
836
- "schema": {
837
- "type": "object",
838
- "required": [
839
- "widget_id",
840
- "org_id",
841
- "agent_id",
842
- "binding_id",
843
- "version",
844
- "name",
845
- "website_chat",
846
- "website_chat_embed",
847
- "created_at",
848
- "updated_at"
849
- ],
850
- "properties": {
851
- "name": {
852
- "type": "string",
853
- "minLength": 1,
854
- "maxLength": 100
855
- },
856
- "agent_id": {
857
- "type": "string",
858
- "format": "uuid",
859
- "nullable": true
860
- },
861
- "website_chat": {
862
- "type": "object",
863
- "additionalProperties": false,
864
- "required": [
865
- "allowed_origins",
866
- "organisation_name",
867
- "default_locale"
868
- ],
869
- "properties": {
870
- "allowed_origins": {
871
- "type": "array",
872
- "maxItems": 50,
873
- "uniqueItems": true,
874
- "description": "Exact HTTPS origins. Empty means the widget cannot start sessions.",
875
- "items": {
876
- "type": "string",
877
- "maxLength": 2048
878
- }
879
- },
880
- "organisation_name": {
881
- "type": "string",
882
- "minLength": 1,
883
- "maxLength": 100
884
- },
885
- "default_locale": {
886
- "type": "string",
887
- "enum": [
888
- "en",
889
- "de"
890
- ]
891
- },
892
- "design_id": {
893
- "type": "string",
894
- "format": "uuid",
895
- "nullable": true,
896
- "description": "Design Builder configuration for the widget only."
897
- },
898
- "authentication": {
899
- "type": "object",
900
- "additionalProperties": false,
901
- "properties": {
902
- "email_code": {
903
- "type": "object",
904
- "additionalProperties": false,
905
- "properties": {
906
- "email_template_id": {
907
- "type": "string",
908
- "format": "uuid",
909
- "nullable": true
910
- }
911
- }
912
- }
913
- },
914
- "nullable": true,
915
- "description": "Email Builder template selection. Does not enable verification by itself.",
916
- "required": [
917
- "email_code"
918
- ]
919
- }
920
- }
921
- },
922
- "widget_id": {
923
- "type": "string",
924
- "format": "uuid",
925
- "readOnly": true,
926
- "description": "Stable public embed identifier, independent of the assigned agent. Not a credential."
927
- },
928
- "org_id": {
929
- "type": "string",
930
- "readOnly": true
931
- },
932
- "binding_id": {
933
- "type": "string",
934
- "format": "uuid",
935
- "readOnly": true,
936
- "description": "Server-owned session binding; changes on reassignment or allowed-origin changes."
937
- },
938
- "version": {
939
- "type": "integer",
940
- "minimum": 1,
941
- "readOnly": true
942
- },
943
- "created_at": {
944
- "type": "string",
945
- "format": "date-time",
946
- "readOnly": true
947
- },
948
- "updated_at": {
949
- "type": "string",
950
- "format": "date-time",
951
- "readOnly": true
952
- },
953
- "website_chat_embed": {
954
- "type": "object",
955
- "readOnly": true,
956
- "required": [
957
- "script_url",
958
- "chat_api_origin",
959
- "demo_url"
960
- ],
961
- "properties": {
962
- "script_url": {
963
- "type": "string",
964
- "format": "uri"
965
- },
966
- "chat_api_origin": {
967
- "type": "string",
968
- "format": "uri"
969
- },
970
- "demo_url": {
971
- "type": "string",
972
- "format": "uri"
973
- }
974
- }
975
- }
976
- }
977
- }
978
- }
979
- }
980
- },
981
- "400": {
982
- "description": "Invalid widget settings",
983
- "content": {
984
- "application/json": {
985
- "schema": {
986
- "type": "object",
987
- "properties": {
988
- "error": {
989
- "type": "string"
990
- },
991
- "message": {
992
- "type": "string"
993
- },
994
- "details": {
995
- "type": "object"
996
- }
997
- }
998
- }
999
- }
1000
- }
1001
- },
1002
- "404": {
1003
- "description": "Widget not found in this organisation",
1004
- "content": {
1005
- "application/json": {
1006
- "schema": {
1007
- "type": "object",
1008
- "properties": {
1009
- "error": {
1010
- "type": "string"
1011
- },
1012
- "message": {
1013
- "type": "string"
1014
- },
1015
- "details": {
1016
- "type": "object"
1017
- }
1018
- }
1019
- }
1020
- }
1021
- }
1022
- },
1023
- "409": {
1024
- "description": "Widget or assigned agent changed; reload before retrying",
1025
- "content": {
1026
- "application/json": {
1027
- "schema": {
1028
- "type": "object",
1029
- "properties": {
1030
- "error": {
1031
- "type": "string"
1032
- },
1033
- "message": {
1034
- "type": "string"
1035
- },
1036
- "details": {
1037
- "type": "object"
1038
- }
1039
- }
1040
- }
1041
- }
1042
- }
1043
- }
1044
- },
1045
- "requestBody": {
1046
- "required": true,
1047
- "content": {
1048
- "application/json": {
1049
- "schema": {
1050
- "type": "object",
1051
- "additionalProperties": false,
1052
- "required": [
1053
- "version"
1054
- ],
1055
- "properties": {
1056
- "name": {
1057
- "type": "string",
1058
- "minLength": 1,
1059
- "maxLength": 100
1060
- },
1061
- "agent_id": {
1062
- "type": "string",
1063
- "format": "uuid",
1064
- "nullable": true
1065
- },
1066
- "website_chat": {
1067
- "type": "object",
1068
- "additionalProperties": false,
1069
- "required": [
1070
- "allowed_origins",
1071
- "organisation_name",
1072
- "default_locale"
1073
- ],
1074
- "properties": {
1075
- "allowed_origins": {
1076
- "type": "array",
1077
- "maxItems": 50,
1078
- "uniqueItems": true,
1079
- "description": "Exact HTTPS origins. Empty means the widget cannot start sessions.",
1080
- "items": {
1081
- "type": "string",
1082
- "maxLength": 2048
1083
- }
1084
- },
1085
- "organisation_name": {
1086
- "type": "string",
1087
- "minLength": 1,
1088
- "maxLength": 100
1089
- },
1090
- "default_locale": {
1091
- "type": "string",
1092
- "enum": [
1093
- "en",
1094
- "de"
1095
- ]
1096
- },
1097
- "design_id": {
1098
- "type": "string",
1099
- "format": "uuid",
1100
- "nullable": true,
1101
- "description": "Design Builder configuration for the widget only."
1102
- },
1103
- "authentication": {
1104
- "type": "object",
1105
- "additionalProperties": false,
1106
- "properties": {
1107
- "email_code": {
1108
- "type": "object",
1109
- "additionalProperties": false,
1110
- "properties": {
1111
- "email_template_id": {
1112
- "type": "string",
1113
- "format": "uuid",
1114
- "nullable": true
1115
- }
1116
- }
1117
- }
1118
- },
1119
- "nullable": true,
1120
- "description": "Email Builder template selection. Does not enable verification by itself.",
1121
- "required": [
1122
- "email_code"
1123
- ]
1124
- }
1125
- }
1126
- },
1127
- "version": {
1128
- "type": "integer",
1129
- "minimum": 1,
1130
- "description": "Version read by the editor; stale writes return 409."
1131
- }
1132
- }
1133
- }
1134
- }
1135
- }
1136
- }
1137
- },
1138
- "delete": {
1139
- "tags": [
1140
- "Chat widgets"
1141
- ],
1142
- "operationId": "deleteChatWidget",
1143
- "security": [
1144
- {
1145
- "EpilotAuth": []
1146
- }
1147
- ],
1148
- "responses": {
1149
- "204": {
1150
- "description": "Widget deleted"
1151
- },
1152
- "400": {
1153
- "description": "Invalid widget settings",
1154
- "content": {
1155
- "application/json": {
1156
- "schema": {
1157
- "type": "object",
1158
- "properties": {
1159
- "error": {
1160
- "type": "string"
1161
- },
1162
- "message": {
1163
- "type": "string"
1164
- },
1165
- "details": {
1166
- "type": "object"
1167
- }
1168
- }
1169
- }
1170
- }
1171
- }
1172
- },
1173
- "404": {
1174
- "description": "Widget not found in this organisation",
1175
- "content": {
1176
- "application/json": {
1177
- "schema": {
1178
- "type": "object",
1179
- "properties": {
1180
- "error": {
1181
- "type": "string"
1182
- },
1183
- "message": {
1184
- "type": "string"
1185
- },
1186
- "details": {
1187
- "type": "object"
1188
- }
1189
- }
1190
- }
1191
- }
1192
- }
1193
- },
1194
- "409": {
1195
- "description": "Widget or assigned agent changed; reload before retrying",
1196
- "content": {
1197
- "application/json": {
1198
- "schema": {
1199
- "type": "object",
1200
- "properties": {
1201
- "error": {
1202
- "type": "string"
1203
- },
1204
- "message": {
1205
- "type": "string"
1206
- },
1207
- "details": {
1208
- "type": "object"
1209
- }
1210
- }
1211
- }
1212
- }
1213
- }
1214
- }
1215
- },
1216
- "parameters": [
1217
- {
1218
- "in": "query",
1219
- "name": "version",
1220
- "required": true,
1221
- "schema": {
1222
- "type": "integer",
1223
- "minimum": 1
1224
- }
1225
- }
1226
- ]
1227
- }
1228
- },
1229
- "/v1/widgets/{widget_id}/configuration": {
1230
- "get": {
1231
- "operationId": "getPublicChatWidget",
1232
- "description": "Resolve visitor-facing configuration for an independent widget and its current agent assignment. The widget ID is not an organisation ID or a destination such as website or portal.",
1233
- "parameters": [
1234
- {
1235
- "in": "path",
1236
- "name": "widget_id",
1237
- "description": "Public widget ID, also used as widget_key in bootstrap and data-epilot-chat in the embed.",
1238
- "example": "550e8400-e29b-41d4-a716-446655440000",
1239
- "required": true,
1240
- "schema": {
1241
- "type": "string",
1242
- "pattern": "^[a-zA-Z0-9_-]{1,100}$"
1243
- }
1244
- }
1245
- ],
1246
- "responses": {
1247
- "200": {
1248
- "description": "Public presentation only",
1249
- "content": {
1250
- "application/json": {
1251
- "schema": {
1252
- "type": "object",
1253
- "required": [
1254
- "key",
1255
- "organisationName",
1256
- "assistantName",
1257
- "defaultLocale",
1258
- "locales"
1259
- ],
1260
- "properties": {
1261
- "key": {
1262
- "type": "string"
1263
- },
1264
- "organisationName": {
1265
- "type": "string"
1266
- },
1267
- "assistantName": {
1268
- "type": "string"
1269
- },
1270
- "defaultLocale": {
1271
- "type": "string",
1272
- "enum": [
1273
- "en",
1274
- "de"
1275
- ]
1276
- },
1277
- "design": {
1278
- "type": "object",
1279
- "additionalProperties": false,
1280
- "properties": {
1281
- "id": {
1282
- "type": "string",
1283
- "format": "uuid"
1284
- },
1285
- "last_modified_at": {
1286
- "type": "string",
1287
- "maxLength": 200
1288
- },
1289
- "style": {
1290
- "type": "object",
1291
- "additionalProperties": false,
1292
- "properties": {
1293
- "palette": {
1294
- "type": "object",
1295
- "additionalProperties": false,
1296
- "properties": {
1297
- "primary": {
1298
- "type": "string",
1299
- "maxLength": 200
1300
- },
1301
- "background": {
1302
- "type": "string",
1303
- "maxLength": 200
1304
- }
1305
- }
1306
- },
1307
- "typography": {
1308
- "type": "object",
1309
- "additionalProperties": false,
1310
- "properties": {
1311
- "font": {
1312
- "type": "object",
1313
- "additionalProperties": false,
1314
- "properties": {
1315
- "font_family": {
1316
- "type": "string",
1317
- "maxLength": 200
1318
- }
1319
- }
1320
- }
1321
- }
1322
- },
1323
- "shape": {
1324
- "type": "object",
1325
- "additionalProperties": false,
1326
- "properties": {
1327
- "border_radius": {
1328
- "type": "number",
1329
- "minimum": 0,
1330
- "maximum": 100
1331
- }
1332
- }
1333
- }
1334
- }
1335
- },
1336
- "spark_theme": {
1337
- "type": "object",
1338
- "additionalProperties": false,
1339
- "properties": {
1340
- "accentColor": {
1341
- "type": "string",
1342
- "maxLength": 200
1343
- },
1344
- "backgroundColor": {
1345
- "type": "string",
1346
- "maxLength": 200
1347
- },
1348
- "fontBody": {
1349
- "type": "string",
1350
- "maxLength": 200
1351
- },
1352
- "fontHeading": {
1353
- "type": "string",
1354
- "maxLength": 200
1355
- },
1356
- "radius": {
1357
- "type": "string",
1358
- "maxLength": 200
1359
- },
1360
- "scaling": {
1361
- "type": "string",
1362
- "maxLength": 200
1363
- },
1364
- "spacing": {
1365
- "type": "string",
1366
- "maxLength": 200
1367
- },
1368
- "appearance": {
1369
- "type": "string",
1370
- "maxLength": 200
1371
- },
1372
- "neutralColor": {
1373
- "type": "string",
1374
- "maxLength": 200
1375
- },
1376
- "styleVariant": {
1377
- "type": "string",
1378
- "maxLength": 200
1379
- },
1380
- "labelPosition": {
1381
- "type": "string",
1382
- "maxLength": 200
1383
- },
1384
- "inputStyle": {
1385
- "type": "string",
1386
- "maxLength": 200
1387
- },
1388
- "inputColor": {
1389
- "type": "string",
1390
- "maxLength": 200
1391
- },
1392
- "cardVariant": {
1393
- "type": "string",
1394
- "maxLength": 200
1395
- },
1396
- "cardColor": {
1397
- "type": "string",
1398
- "maxLength": 200
1399
- },
1400
- "highContrast": {
1401
- "type": "boolean"
1402
- }
1403
- }
1404
- }
1405
- },
1406
- "required": [
1407
- "id"
1408
- ]
1409
- },
1410
- "locales": {
1411
- "type": "array",
1412
- "items": {
1413
- "type": "string",
1414
- "enum": [
1415
- "en",
1416
- "de"
1417
- ]
1418
- }
1419
- }
1420
- }
1421
- }
1422
- }
1423
- }
1424
- },
1425
- "default": {
1426
- "description": "400 invalid input, 401 expired capability, 403 origin denied, 404 unpublished widget, 409 conflict, 413 too large, 429 rate limit, or 503 unavailable.",
1427
- "content": {
1428
- "application/json": {
1429
- "schema": {
1430
- "type": "object",
1431
- "required": [
1432
- "code"
1433
- ],
1434
- "properties": {
1435
- "code": {
1436
- "type": "string",
1437
- "enum": [
1438
- "INVALID_REQUEST",
1439
- "ORIGIN_DENIED",
1440
- "NOT_FOUND",
1441
- "INVALID_GRANT",
1442
- "SESSION_EXPIRED",
1443
- "RATE_LIMITED",
1444
- "SESSION_LIMIT",
1445
- "USAGE_LIMIT",
1446
- "REQUEST_CONFLICT",
1447
- "IN_PROGRESS",
1448
- "UNAVAILABLE",
1449
- "TEMPORARILY_UNAVAILABLE"
1450
- ]
1451
- }
1452
- }
1453
- }
1454
- }
1455
- }
1456
- }
1457
- },
1458
- "security": []
1459
- }
1460
- },
1461
- "/v1/bootstrap": {
1462
- "post": {
1463
- "operationId": "createPublicChatGrant",
1464
- "description": "Called by the host website with its widget_key. Checks the saved website origin allowlist and issues a single-use grant for the iframe to exchange at POST /v1/sessions within 60 seconds. This deadline does not limit the resulting session.",
1465
- "requestBody": {
1466
- "required": true,
1467
- "content": {
1468
- "application/json": {
1469
- "schema": {
1470
- "type": "object",
1471
- "additionalProperties": false,
1472
- "required": [
1473
- "widget_key"
1474
- ],
1475
- "properties": {
1476
- "widget_key": {
1477
- "type": "string",
1478
- "pattern": "^[a-zA-Z0-9_-]{1,100}$"
1479
- }
1480
- }
1481
- }
1482
- }
1483
- }
1484
- },
1485
- "responses": {
1486
- "201": {
1487
- "description": "Single-use handoff grant, valid for 60 seconds. If unused at expiry, request a fresh grant. Contains no account identity.",
1488
- "content": {
1489
- "application/json": {
1490
- "schema": {
1491
- "type": "object",
1492
- "required": [
1493
- "grant",
1494
- "expires_in",
1495
- "widget_origin"
1496
- ],
1497
- "properties": {
1498
- "grant": {
1499
- "type": "string"
1500
- },
1501
- "expires_in": {
1502
- "type": "integer",
1503
- "example": 60
1504
- },
1505
- "widget_origin": {
1506
- "type": "string",
1507
- "format": "uri"
1508
- }
1509
- }
1510
- }
1511
- }
1512
- }
1513
- },
1514
- "default": {
1515
- "description": "400 invalid input, 401 expired capability, 403 origin denied, 404 unpublished widget, 409 conflict, 413 too large, 429 rate limit, or 503 unavailable.",
1516
- "content": {
1517
- "application/json": {
1518
- "schema": {
1519
- "type": "object",
1520
- "required": [
1521
- "code"
1522
- ],
1523
- "properties": {
1524
- "code": {
1525
- "type": "string",
1526
- "enum": [
1527
- "INVALID_REQUEST",
1528
- "ORIGIN_DENIED",
1529
- "NOT_FOUND",
1530
- "INVALID_GRANT",
1531
- "SESSION_EXPIRED",
1532
- "RATE_LIMITED",
1533
- "SESSION_LIMIT",
1534
- "USAGE_LIMIT",
1535
- "REQUEST_CONFLICT",
1536
- "IN_PROGRESS",
1537
- "UNAVAILABLE",
1538
- "TEMPORARILY_UNAVAILABLE"
1539
- ]
1540
- }
1541
- }
1542
- }
1543
- }
1544
- }
1545
- }
1546
- },
1547
- "security": []
1548
- }
1549
- },
1550
- "/v1/sessions": {
1551
- "post": {
1552
- "operationId": "createAnonymousChatSession",
1553
- "description": "Exchanges an unexpired grant once for an independent 30-minute session. Expired or previously used grants return 401 INVALID_GRANT; the host must bootstrap again.",
1554
- "requestBody": {
1555
- "required": true,
1556
- "content": {
1557
- "application/json": {
1558
- "schema": {
1559
- "type": "object",
1560
- "additionalProperties": false,
1561
- "required": [
1562
- "grant"
1563
- ],
1564
- "properties": {
1565
- "grant": {
1566
- "type": "string",
1567
- "pattern": "^[A-Za-z0-9_-]{43}$"
1568
- }
1569
- }
1570
- }
1571
- }
1572
- }
1573
- },
1574
- "responses": {
1575
- "201": {
1576
- "description": "An isolated anonymous conversation",
1577
- "content": {
1578
- "application/json": {
1579
- "schema": {
1580
- "type": "object",
1581
- "required": [
1582
- "token",
1583
- "conversation_id",
1584
- "expires_at",
1585
- "widget"
1586
- ],
1587
- "properties": {
1588
- "token": {
1589
- "type": "string"
1590
- },
1591
- "conversation_id": {
1592
- "type": "string",
1593
- "format": "uuid"
1594
- },
1595
- "expires_at": {
1596
- "type": "integer",
1597
- "description": "Unix seconds"
1598
- },
1599
- "widget": {
1600
- "type": "object",
1601
- "required": [
1602
- "key",
1603
- "organisationName",
1604
- "assistantName",
1605
- "defaultLocale",
1606
- "locales"
1607
- ],
1608
- "properties": {
1609
- "key": {
1610
- "type": "string"
1611
- },
1612
- "organisationName": {
1613
- "type": "string"
1614
- },
1615
- "assistantName": {
1616
- "type": "string"
1617
- },
1618
- "defaultLocale": {
1619
- "type": "string",
1620
- "enum": [
1621
- "en",
1622
- "de"
1623
- ]
1624
- },
1625
- "design": {
1626
- "type": "object",
1627
- "additionalProperties": false,
1628
- "properties": {
1629
- "id": {
1630
- "type": "string",
1631
- "format": "uuid"
1632
- },
1633
- "last_modified_at": {
1634
- "type": "string",
1635
- "maxLength": 200
1636
- },
1637
- "style": {
1638
- "type": "object",
1639
- "additionalProperties": false,
1640
- "properties": {
1641
- "palette": {
1642
- "type": "object",
1643
- "additionalProperties": false,
1644
- "properties": {
1645
- "primary": {
1646
- "type": "string",
1647
- "maxLength": 200
1648
- },
1649
- "background": {
1650
- "type": "string",
1651
- "maxLength": 200
1652
- }
1653
- }
1654
- },
1655
- "typography": {
1656
- "type": "object",
1657
- "additionalProperties": false,
1658
- "properties": {
1659
- "font": {
1660
- "type": "object",
1661
- "additionalProperties": false,
1662
- "properties": {
1663
- "font_family": {
1664
- "type": "string",
1665
- "maxLength": 200
1666
- }
1667
- }
1668
- }
1669
- }
1670
- },
1671
- "shape": {
1672
- "type": "object",
1673
- "additionalProperties": false,
1674
- "properties": {
1675
- "border_radius": {
1676
- "type": "number",
1677
- "minimum": 0,
1678
- "maximum": 100
1679
- }
1680
- }
1681
- }
1682
- }
1683
- },
1684
- "spark_theme": {
1685
- "type": "object",
1686
- "additionalProperties": false,
1687
- "properties": {
1688
- "accentColor": {
1689
- "type": "string",
1690
- "maxLength": 200
1691
- },
1692
- "backgroundColor": {
1693
- "type": "string",
1694
- "maxLength": 200
1695
- },
1696
- "fontBody": {
1697
- "type": "string",
1698
- "maxLength": 200
1699
- },
1700
- "fontHeading": {
1701
- "type": "string",
1702
- "maxLength": 200
1703
- },
1704
- "radius": {
1705
- "type": "string",
1706
- "maxLength": 200
1707
- },
1708
- "scaling": {
1709
- "type": "string",
1710
- "maxLength": 200
1711
- },
1712
- "spacing": {
1713
- "type": "string",
1714
- "maxLength": 200
1715
- },
1716
- "appearance": {
1717
- "type": "string",
1718
- "maxLength": 200
1719
- },
1720
- "neutralColor": {
1721
- "type": "string",
1722
- "maxLength": 200
1723
- },
1724
- "styleVariant": {
1725
- "type": "string",
1726
- "maxLength": 200
1727
- },
1728
- "labelPosition": {
1729
- "type": "string",
1730
- "maxLength": 200
1731
- },
1732
- "inputStyle": {
1733
- "type": "string",
1734
- "maxLength": 200
1735
- },
1736
- "inputColor": {
1737
- "type": "string",
1738
- "maxLength": 200
1739
- },
1740
- "cardVariant": {
1741
- "type": "string",
1742
- "maxLength": 200
1743
- },
1744
- "cardColor": {
1745
- "type": "string",
1746
- "maxLength": 200
1747
- },
1748
- "highContrast": {
1749
- "type": "boolean"
1750
- }
1751
- }
1752
- }
1753
- },
1754
- "required": [
1755
- "id"
1756
- ]
1757
- },
1758
- "locales": {
1759
- "type": "array",
1760
- "items": {
1761
- "type": "string",
1762
- "enum": [
1763
- "en",
1764
- "de"
1765
- ]
1766
- }
1767
- }
1768
- }
1769
- }
1770
- }
1771
- }
1772
- }
1773
- }
1774
- },
1775
- "default": {
1776
- "description": "400 invalid input, 401 expired capability, 403 origin denied, 404 unpublished widget, 409 conflict, 413 too large, 429 rate limit, or 503 unavailable.",
1777
- "content": {
1778
- "application/json": {
1779
- "schema": {
1780
- "type": "object",
1781
- "required": [
1782
- "code"
1783
- ],
1784
- "properties": {
1785
- "code": {
1786
- "type": "string",
1787
- "enum": [
1788
- "INVALID_REQUEST",
1789
- "ORIGIN_DENIED",
1790
- "NOT_FOUND",
1791
- "INVALID_GRANT",
1792
- "SESSION_EXPIRED",
1793
- "RATE_LIMITED",
1794
- "SESSION_LIMIT",
1795
- "USAGE_LIMIT",
1796
- "REQUEST_CONFLICT",
1797
- "IN_PROGRESS",
1798
- "UNAVAILABLE",
1799
- "TEMPORARILY_UNAVAILABLE"
1800
- ]
1801
- }
1802
- }
1803
- }
1804
- }
1805
- }
1806
- }
1807
- },
1808
- "security": []
1809
- }
1810
- },
1811
- "/v1/messages": {
1812
- "post": {
1813
- "operationId": "sendAnonymousChatMessage",
1814
- "security": [
1815
- {
1816
- "AnonymousSession": []
1817
- }
1818
- ],
1819
- "description": "Creates a turn or replays its persisted result. Reuse request_id and the exact\npayload for a retry. History, org, agent, tools and account identity cannot be supplied.\nTEMPORARILY_UNAVAILABLE means the request outcome could not be checked; retry the same request ID and payload.\nA running request returns 409 IN_PROGRESS; a changed payload returns 409 REQUEST_CONFLICT.\nA failed admitted request never starts another model execution when retried.\n",
1820
- "requestBody": {
1821
- "required": true,
1822
- "content": {
1823
- "application/json": {
1824
- "schema": {
1825
- "type": "object",
1826
- "additionalProperties": false,
1827
- "required": [
1828
- "request_id",
1829
- "message",
1830
- "locale",
1831
- "simple_language"
1832
- ],
1833
- "properties": {
1834
- "request_id": {
1835
- "type": "string",
1836
- "format": "uuid",
1837
- "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
1838
- },
1839
- "message": {
1840
- "type": "string",
1841
- "minLength": 1,
1842
- "maxLength": 4000,
1843
- "pattern": "\\S"
1844
- },
1845
- "locale": {
1846
- "type": "string",
1847
- "enum": [
1848
- "en",
1849
- "de"
1850
- ]
1851
- },
1852
- "simple_language": {
1853
- "type": "boolean"
1854
- }
1855
- }
1856
- }
1857
- }
1858
- }
1859
- },
1860
- "responses": {
1861
- "200": {
1862
- "description": "SSE data frames whose JSON payload follows the PublicEvent component schema.\nOnly delta, complete and error events are public. Completion follows persistence.\n",
1863
- "content": {
1864
- "text/event-stream": {
1865
- "schema": {
1866
- "type": "string"
1867
- },
1868
- "example": "data: {\"type\":\"delta\",\"text\":\"Hello\",\"request_id\":\"bd73e89b-01a5-4e8c-b12b-2b1a743e2ae0\"}\n\ndata: {\"type\":\"complete\",\"text\":\"Hello\",\"request_id\":\"bd73e89b-01a5-4e8c-b12b-2b1a743e2ae0\"}\n\n"
1869
- }
1870
- }
1871
- },
1872
- "default": {
1873
- "description": "400 invalid input, 401 expired capability, 403 origin denied, 404 unpublished widget, 409 conflict, 413 too large, 429 rate limit, or 503 unavailable.",
1874
- "content": {
1875
- "application/json": {
1876
- "schema": {
1877
- "type": "object",
1878
- "required": [
1879
- "code"
1880
- ],
1881
- "properties": {
1882
- "code": {
1883
- "type": "string",
1884
- "enum": [
1885
- "INVALID_REQUEST",
1886
- "ORIGIN_DENIED",
1887
- "NOT_FOUND",
1888
- "INVALID_GRANT",
1889
- "SESSION_EXPIRED",
1890
- "RATE_LIMITED",
1891
- "SESSION_LIMIT",
1892
- "USAGE_LIMIT",
1893
- "REQUEST_CONFLICT",
1894
- "IN_PROGRESS",
1895
- "UNAVAILABLE",
1896
- "TEMPORARILY_UNAVAILABLE"
1897
- ]
1898
- }
1899
- }
1900
- }
1901
- }
1902
- }
1903
- }
1904
- }
1905
- }
1906
- }
1907
- },
1908
- "components": {
1909
- "securitySchemes": {
1910
- "EpilotAuth": {
1911
- "type": "http",
1912
- "scheme": "bearer"
1913
- },
1914
- "AnonymousSession": {
1915
- "type": "http",
1916
- "scheme": "bearer",
1917
- "description": "Opaque, expiring anonymous session token; never an epilot user access token."
1918
- }
1919
- },
1920
- "schemas": {
1921
- "ListChatWidgetsResponse": {
1922
- "type": "object",
1923
- "required": [
1924
- "widgets"
1925
- ],
1926
- "properties": {
1927
- "widgets": {
1928
- "type": "array",
1929
- "items": {
1930
- "type": "object",
1931
- "required": [
1932
- "widget_id",
1933
- "org_id",
1934
- "agent_id",
1935
- "binding_id",
1936
- "version",
1937
- "name",
1938
- "website_chat",
1939
- "website_chat_embed",
1940
- "created_at",
1941
- "updated_at"
1942
- ],
1943
- "properties": {
1944
- "name": {
1945
- "type": "string",
1946
- "minLength": 1,
1947
- "maxLength": 100
1948
- },
1949
- "agent_id": {
1950
- "type": "string",
1951
- "format": "uuid",
1952
- "nullable": true
1953
- },
1954
- "website_chat": {
1955
- "type": "object",
1956
- "additionalProperties": false,
1957
- "required": [
1958
- "allowed_origins",
1959
- "organisation_name",
1960
- "default_locale"
1961
- ],
1962
- "properties": {
1963
- "allowed_origins": {
1964
- "type": "array",
1965
- "maxItems": 50,
1966
- "uniqueItems": true,
1967
- "description": "Exact HTTPS origins. Empty means the widget cannot start sessions.",
1968
- "items": {
1969
- "type": "string",
1970
- "maxLength": 2048
1971
- }
1972
- },
1973
- "organisation_name": {
1974
- "type": "string",
1975
- "minLength": 1,
1976
- "maxLength": 100
1977
- },
1978
- "default_locale": {
1979
- "type": "string",
1980
- "enum": [
1981
- "en",
1982
- "de"
1983
- ]
1984
- },
1985
- "design_id": {
1986
- "type": "string",
1987
- "format": "uuid",
1988
- "nullable": true,
1989
- "description": "Design Builder configuration for the widget only."
1990
- },
1991
- "authentication": {
1992
- "type": "object",
1993
- "additionalProperties": false,
1994
- "properties": {
1995
- "email_code": {
1996
- "type": "object",
1997
- "additionalProperties": false,
1998
- "properties": {
1999
- "email_template_id": {
2000
- "type": "string",
2001
- "format": "uuid",
2002
- "nullable": true
2003
- }
2004
- }
2005
- }
2006
- },
2007
- "nullable": true,
2008
- "description": "Email Builder template selection. Does not enable verification by itself.",
2009
- "required": [
2010
- "email_code"
2011
- ]
2012
- }
2013
- }
2014
- },
2015
- "widget_id": {
2016
- "type": "string",
2017
- "format": "uuid",
2018
- "readOnly": true,
2019
- "description": "Stable public embed identifier, independent of the assigned agent. Not a credential."
2020
- },
2021
- "org_id": {
2022
- "type": "string",
2023
- "readOnly": true
2024
- },
2025
- "binding_id": {
2026
- "type": "string",
2027
- "format": "uuid",
2028
- "readOnly": true,
2029
- "description": "Server-owned session binding; changes on reassignment or allowed-origin changes."
2030
- },
2031
- "version": {
2032
- "type": "integer",
2033
- "minimum": 1,
2034
- "readOnly": true
2035
- },
2036
- "created_at": {
2037
- "type": "string",
2038
- "format": "date-time",
2039
- "readOnly": true
2040
- },
2041
- "updated_at": {
2042
- "type": "string",
2043
- "format": "date-time",
2044
- "readOnly": true
2045
- },
2046
- "website_chat_embed": {
2047
- "type": "object",
2048
- "readOnly": true,
2049
- "required": [
2050
- "script_url",
2051
- "chat_api_origin",
2052
- "demo_url"
2053
- ],
2054
- "properties": {
2055
- "script_url": {
2056
- "type": "string",
2057
- "format": "uri"
2058
- },
2059
- "chat_api_origin": {
2060
- "type": "string",
2061
- "format": "uri"
2062
- },
2063
- "demo_url": {
2064
- "type": "string",
2065
- "format": "uri"
2066
- }
2067
- }
2068
- }
2069
- }
2070
- }
2071
- },
2072
- "next_cursor": {
2073
- "type": "string"
2074
- }
2075
- }
2076
- },
2077
- "ChatWidget": {
2078
- "type": "object",
2079
- "required": [
2080
- "widget_id",
2081
- "org_id",
2082
- "agent_id",
2083
- "binding_id",
2084
- "version",
2085
- "name",
2086
- "website_chat",
2087
- "website_chat_embed",
2088
- "created_at",
2089
- "updated_at"
2090
- ],
2091
- "properties": {
2092
- "name": {
2093
- "type": "string",
2094
- "minLength": 1,
2095
- "maxLength": 100
2096
- },
2097
- "agent_id": {
2098
- "type": "string",
2099
- "format": "uuid",
2100
- "nullable": true
2101
- },
2102
- "website_chat": {
2103
- "type": "object",
2104
- "additionalProperties": false,
2105
- "required": [
2106
- "allowed_origins",
2107
- "organisation_name",
2108
- "default_locale"
2109
- ],
2110
- "properties": {
2111
- "allowed_origins": {
2112
- "type": "array",
2113
- "maxItems": 50,
2114
- "uniqueItems": true,
2115
- "description": "Exact HTTPS origins. Empty means the widget cannot start sessions.",
2116
- "items": {
2117
- "type": "string",
2118
- "maxLength": 2048
2119
- }
2120
- },
2121
- "organisation_name": {
2122
- "type": "string",
2123
- "minLength": 1,
2124
- "maxLength": 100
2125
- },
2126
- "default_locale": {
2127
- "type": "string",
2128
- "enum": [
2129
- "en",
2130
- "de"
2131
- ]
2132
- },
2133
- "design_id": {
2134
- "type": "string",
2135
- "format": "uuid",
2136
- "nullable": true,
2137
- "description": "Design Builder configuration for the widget only."
2138
- },
2139
- "authentication": {
2140
- "type": "object",
2141
- "additionalProperties": false,
2142
- "properties": {
2143
- "email_code": {
2144
- "type": "object",
2145
- "additionalProperties": false,
2146
- "properties": {
2147
- "email_template_id": {
2148
- "type": "string",
2149
- "format": "uuid",
2150
- "nullable": true
2151
- }
2152
- }
2153
- }
2154
- },
2155
- "nullable": true,
2156
- "description": "Email Builder template selection. Does not enable verification by itself.",
2157
- "required": [
2158
- "email_code"
2159
- ]
2160
- }
2161
- }
2162
- },
2163
- "widget_id": {
2164
- "type": "string",
2165
- "format": "uuid",
2166
- "readOnly": true,
2167
- "description": "Stable public embed identifier, independent of the assigned agent. Not a credential."
2168
- },
2169
- "org_id": {
2170
- "type": "string",
2171
- "readOnly": true
2172
- },
2173
- "binding_id": {
2174
- "type": "string",
2175
- "format": "uuid",
2176
- "readOnly": true,
2177
- "description": "Server-owned session binding; changes on reassignment or allowed-origin changes."
2178
- },
2179
- "version": {
2180
- "type": "integer",
2181
- "minimum": 1,
2182
- "readOnly": true
2183
- },
2184
- "created_at": {
2185
- "type": "string",
2186
- "format": "date-time",
2187
- "readOnly": true
2188
- },
2189
- "updated_at": {
2190
- "type": "string",
2191
- "format": "date-time",
2192
- "readOnly": true
2193
- },
2194
- "website_chat_embed": {
2195
- "type": "object",
2196
- "readOnly": true,
2197
- "required": [
2198
- "script_url",
2199
- "chat_api_origin",
2200
- "demo_url"
2201
- ],
2202
- "properties": {
2203
- "script_url": {
2204
- "type": "string",
2205
- "format": "uri"
2206
- },
2207
- "chat_api_origin": {
2208
- "type": "string",
2209
- "format": "uri"
2210
- },
2211
- "demo_url": {
2212
- "type": "string",
2213
- "format": "uri"
2214
- }
2215
- }
2216
- }
2217
- }
2218
- },
2219
- "WebsiteChatSettings": {
2220
- "type": "object",
2221
- "additionalProperties": false,
2222
- "required": [
2223
- "allowed_origins",
2224
- "organisation_name",
2225
- "default_locale"
2226
- ],
2227
- "properties": {
2228
- "allowed_origins": {
2229
- "type": "array",
2230
- "maxItems": 50,
2231
- "uniqueItems": true,
2232
- "description": "Exact HTTPS origins. Empty means the widget cannot start sessions.",
2233
- "items": {
2234
- "type": "string",
2235
- "maxLength": 2048
2236
- }
2237
- },
2238
- "organisation_name": {
2239
- "type": "string",
2240
- "minLength": 1,
2241
- "maxLength": 100
2242
- },
2243
- "default_locale": {
2244
- "type": "string",
2245
- "enum": [
2246
- "en",
2247
- "de"
2248
- ]
2249
- },
2250
- "design_id": {
2251
- "type": "string",
2252
- "format": "uuid",
2253
- "nullable": true,
2254
- "description": "Design Builder configuration for the widget only."
2255
- },
2256
- "authentication": {
2257
- "type": "object",
2258
- "additionalProperties": false,
2259
- "properties": {
2260
- "email_code": {
2261
- "type": "object",
2262
- "additionalProperties": false,
2263
- "properties": {
2264
- "email_template_id": {
2265
- "type": "string",
2266
- "format": "uuid",
2267
- "nullable": true
2268
- }
2269
- }
2270
- }
2271
- },
2272
- "nullable": true,
2273
- "description": "Email Builder template selection. Does not enable verification by itself.",
2274
- "required": [
2275
- "email_code"
2276
- ]
2277
- }
2278
- }
2279
- },
2280
- "Error": {
2281
- "type": "object",
2282
- "properties": {
2283
- "error": {
2284
- "type": "string"
2285
- },
2286
- "message": {
2287
- "type": "string"
2288
- },
2289
- "details": {
2290
- "type": "object"
2291
- }
2292
- }
2293
- },
2294
- "CreateChatWidgetRequest": {
2295
- "type": "object",
2296
- "additionalProperties": false,
2297
- "required": [
2298
- "name",
2299
- "agent_id",
2300
- "website_chat"
2301
- ],
2302
- "properties": {
2303
- "name": {
2304
- "type": "string",
2305
- "minLength": 1,
2306
- "maxLength": 100
2307
- },
2308
- "agent_id": {
2309
- "type": "string",
2310
- "format": "uuid",
2311
- "nullable": true
2312
- },
2313
- "website_chat": {
2314
- "type": "object",
2315
- "additionalProperties": false,
2316
- "required": [
2317
- "allowed_origins",
2318
- "organisation_name",
2319
- "default_locale"
2320
- ],
2321
- "properties": {
2322
- "allowed_origins": {
2323
- "type": "array",
2324
- "maxItems": 50,
2325
- "uniqueItems": true,
2326
- "description": "Exact HTTPS origins. Empty means the widget cannot start sessions.",
2327
- "items": {
2328
- "type": "string",
2329
- "maxLength": 2048
2330
- }
2331
- },
2332
- "organisation_name": {
2333
- "type": "string",
2334
- "minLength": 1,
2335
- "maxLength": 100
2336
- },
2337
- "default_locale": {
2338
- "type": "string",
2339
- "enum": [
2340
- "en",
2341
- "de"
2342
- ]
2343
- },
2344
- "design_id": {
2345
- "type": "string",
2346
- "format": "uuid",
2347
- "nullable": true,
2348
- "description": "Design Builder configuration for the widget only."
2349
- },
2350
- "authentication": {
2351
- "type": "object",
2352
- "additionalProperties": false,
2353
- "properties": {
2354
- "email_code": {
2355
- "type": "object",
2356
- "additionalProperties": false,
2357
- "properties": {
2358
- "email_template_id": {
2359
- "type": "string",
2360
- "format": "uuid",
2361
- "nullable": true
2362
- }
2363
- }
2364
- }
2365
- },
2366
- "nullable": true,
2367
- "description": "Email Builder template selection. Does not enable verification by itself.",
2368
- "required": [
2369
- "email_code"
2370
- ]
2371
- }
2372
- }
2373
- }
2374
- }
2375
- },
2376
- "UpdateChatWidgetRequest": {
2377
- "type": "object",
2378
- "additionalProperties": false,
2379
- "required": [
2380
- "version"
2381
- ],
2382
- "properties": {
2383
- "name": {
2384
- "type": "string",
2385
- "minLength": 1,
2386
- "maxLength": 100
2387
- },
2388
- "agent_id": {
2389
- "type": "string",
2390
- "format": "uuid",
2391
- "nullable": true
2392
- },
2393
- "website_chat": {
2394
- "type": "object",
2395
- "additionalProperties": false,
2396
- "required": [
2397
- "allowed_origins",
2398
- "organisation_name",
2399
- "default_locale"
2400
- ],
2401
- "properties": {
2402
- "allowed_origins": {
2403
- "type": "array",
2404
- "maxItems": 50,
2405
- "uniqueItems": true,
2406
- "description": "Exact HTTPS origins. Empty means the widget cannot start sessions.",
2407
- "items": {
2408
- "type": "string",
2409
- "maxLength": 2048
2410
- }
2411
- },
2412
- "organisation_name": {
2413
- "type": "string",
2414
- "minLength": 1,
2415
- "maxLength": 100
2416
- },
2417
- "default_locale": {
2418
- "type": "string",
2419
- "enum": [
2420
- "en",
2421
- "de"
2422
- ]
2423
- },
2424
- "design_id": {
2425
- "type": "string",
2426
- "format": "uuid",
2427
- "nullable": true,
2428
- "description": "Design Builder configuration for the widget only."
2429
- },
2430
- "authentication": {
2431
- "type": "object",
2432
- "additionalProperties": false,
2433
- "properties": {
2434
- "email_code": {
2435
- "type": "object",
2436
- "additionalProperties": false,
2437
- "properties": {
2438
- "email_template_id": {
2439
- "type": "string",
2440
- "format": "uuid",
2441
- "nullable": true
2442
- }
2443
- }
2444
- }
2445
- },
2446
- "nullable": true,
2447
- "description": "Email Builder template selection. Does not enable verification by itself.",
2448
- "required": [
2449
- "email_code"
2450
- ]
2451
- }
2452
- }
2453
- },
2454
- "version": {
2455
- "type": "integer",
2456
- "minimum": 1,
2457
- "description": "Version read by the editor; stale writes return 409."
2458
- }
2459
- }
2460
- },
2461
- "Widget": {
2462
- "type": "object",
2463
- "required": [
2464
- "key",
2465
- "organisationName",
2466
- "assistantName",
2467
- "defaultLocale",
2468
- "locales"
2469
- ],
2470
- "properties": {
2471
- "key": {
2472
- "type": "string"
2473
- },
2474
- "organisationName": {
2475
- "type": "string"
2476
- },
2477
- "assistantName": {
2478
- "type": "string"
2479
- },
2480
- "defaultLocale": {
2481
- "type": "string",
2482
- "enum": [
2483
- "en",
2484
- "de"
2485
- ]
2486
- },
2487
- "design": {
2488
- "type": "object",
2489
- "additionalProperties": false,
2490
- "properties": {
2491
- "id": {
2492
- "type": "string",
2493
- "format": "uuid"
2494
- },
2495
- "last_modified_at": {
2496
- "type": "string",
2497
- "maxLength": 200
2498
- },
2499
- "style": {
2500
- "type": "object",
2501
- "additionalProperties": false,
2502
- "properties": {
2503
- "palette": {
2504
- "type": "object",
2505
- "additionalProperties": false,
2506
- "properties": {
2507
- "primary": {
2508
- "type": "string",
2509
- "maxLength": 200
2510
- },
2511
- "background": {
2512
- "type": "string",
2513
- "maxLength": 200
2514
- }
2515
- }
2516
- },
2517
- "typography": {
2518
- "type": "object",
2519
- "additionalProperties": false,
2520
- "properties": {
2521
- "font": {
2522
- "type": "object",
2523
- "additionalProperties": false,
2524
- "properties": {
2525
- "font_family": {
2526
- "type": "string",
2527
- "maxLength": 200
2528
- }
2529
- }
2530
- }
2531
- }
2532
- },
2533
- "shape": {
2534
- "type": "object",
2535
- "additionalProperties": false,
2536
- "properties": {
2537
- "border_radius": {
2538
- "type": "number",
2539
- "minimum": 0,
2540
- "maximum": 100
2541
- }
2542
- }
2543
- }
2544
- }
2545
- },
2546
- "spark_theme": {
2547
- "type": "object",
2548
- "additionalProperties": false,
2549
- "properties": {
2550
- "accentColor": {
2551
- "type": "string",
2552
- "maxLength": 200
2553
- },
2554
- "backgroundColor": {
2555
- "type": "string",
2556
- "maxLength": 200
2557
- },
2558
- "fontBody": {
2559
- "type": "string",
2560
- "maxLength": 200
2561
- },
2562
- "fontHeading": {
2563
- "type": "string",
2564
- "maxLength": 200
2565
- },
2566
- "radius": {
2567
- "type": "string",
2568
- "maxLength": 200
2569
- },
2570
- "scaling": {
2571
- "type": "string",
2572
- "maxLength": 200
2573
- },
2574
- "spacing": {
2575
- "type": "string",
2576
- "maxLength": 200
2577
- },
2578
- "appearance": {
2579
- "type": "string",
2580
- "maxLength": 200
2581
- },
2582
- "neutralColor": {
2583
- "type": "string",
2584
- "maxLength": 200
2585
- },
2586
- "styleVariant": {
2587
- "type": "string",
2588
- "maxLength": 200
2589
- },
2590
- "labelPosition": {
2591
- "type": "string",
2592
- "maxLength": 200
2593
- },
2594
- "inputStyle": {
2595
- "type": "string",
2596
- "maxLength": 200
2597
- },
2598
- "inputColor": {
2599
- "type": "string",
2600
- "maxLength": 200
2601
- },
2602
- "cardVariant": {
2603
- "type": "string",
2604
- "maxLength": 200
2605
- },
2606
- "cardColor": {
2607
- "type": "string",
2608
- "maxLength": 200
2609
- },
2610
- "highContrast": {
2611
- "type": "boolean"
2612
- }
2613
- }
2614
- }
2615
- },
2616
- "required": [
2617
- "id"
2618
- ]
2619
- },
2620
- "locales": {
2621
- "type": "array",
2622
- "items": {
2623
- "type": "string",
2624
- "enum": [
2625
- "en",
2626
- "de"
2627
- ]
2628
- }
2629
- }
2630
- }
2631
- },
2632
- "WidgetDesign": {
2633
- "type": "object",
2634
- "additionalProperties": false,
2635
- "properties": {
2636
- "id": {
2637
- "type": "string",
2638
- "format": "uuid"
2639
- },
2640
- "last_modified_at": {
2641
- "type": "string",
2642
- "maxLength": 200
2643
- },
2644
- "style": {
2645
- "type": "object",
2646
- "additionalProperties": false,
2647
- "properties": {
2648
- "palette": {
2649
- "type": "object",
2650
- "additionalProperties": false,
2651
- "properties": {
2652
- "primary": {
2653
- "type": "string",
2654
- "maxLength": 200
2655
- },
2656
- "background": {
2657
- "type": "string",
2658
- "maxLength": 200
2659
- }
2660
- }
2661
- },
2662
- "typography": {
2663
- "type": "object",
2664
- "additionalProperties": false,
2665
- "properties": {
2666
- "font": {
2667
- "type": "object",
2668
- "additionalProperties": false,
2669
- "properties": {
2670
- "font_family": {
2671
- "type": "string",
2672
- "maxLength": 200
2673
- }
2674
- }
2675
- }
2676
- }
2677
- },
2678
- "shape": {
2679
- "type": "object",
2680
- "additionalProperties": false,
2681
- "properties": {
2682
- "border_radius": {
2683
- "type": "number",
2684
- "minimum": 0,
2685
- "maximum": 100
2686
- }
2687
- }
2688
- }
2689
- }
2690
- },
2691
- "spark_theme": {
2692
- "type": "object",
2693
- "additionalProperties": false,
2694
- "properties": {
2695
- "accentColor": {
2696
- "type": "string",
2697
- "maxLength": 200
2698
- },
2699
- "backgroundColor": {
2700
- "type": "string",
2701
- "maxLength": 200
2702
- },
2703
- "fontBody": {
2704
- "type": "string",
2705
- "maxLength": 200
2706
- },
2707
- "fontHeading": {
2708
- "type": "string",
2709
- "maxLength": 200
2710
- },
2711
- "radius": {
2712
- "type": "string",
2713
- "maxLength": 200
2714
- },
2715
- "scaling": {
2716
- "type": "string",
2717
- "maxLength": 200
2718
- },
2719
- "spacing": {
2720
- "type": "string",
2721
- "maxLength": 200
2722
- },
2723
- "appearance": {
2724
- "type": "string",
2725
- "maxLength": 200
2726
- },
2727
- "neutralColor": {
2728
- "type": "string",
2729
- "maxLength": 200
2730
- },
2731
- "styleVariant": {
2732
- "type": "string",
2733
- "maxLength": 200
2734
- },
2735
- "labelPosition": {
2736
- "type": "string",
2737
- "maxLength": 200
2738
- },
2739
- "inputStyle": {
2740
- "type": "string",
2741
- "maxLength": 200
2742
- },
2743
- "inputColor": {
2744
- "type": "string",
2745
- "maxLength": 200
2746
- },
2747
- "cardVariant": {
2748
- "type": "string",
2749
- "maxLength": 200
2750
- },
2751
- "cardColor": {
2752
- "type": "string",
2753
- "maxLength": 200
2754
- },
2755
- "highContrast": {
2756
- "type": "boolean"
2757
- }
2758
- }
2759
- }
2760
- },
2761
- "required": [
2762
- "id"
2763
- ]
2764
- },
2765
- "PublicEvent": {
2766
- "description": "JSON payload of one SSE data frame from sendAnonymousChatMessage.",
2767
- "oneOf": [
2768
- {
2769
- "type": "object",
2770
- "additionalProperties": false,
2771
- "required": [
2772
- "type",
2773
- "text",
2774
- "request_id"
2775
- ],
2776
- "properties": {
2777
- "type": {
2778
- "type": "string",
2779
- "enum": [
2780
- "delta"
2781
- ]
2782
- },
2783
- "text": {
2784
- "type": "string",
2785
- "maxLength": 12000
2786
- },
2787
- "request_id": {
2788
- "type": "string",
2789
- "format": "uuid"
2790
- }
2791
- }
2792
- },
2793
- {
2794
- "type": "object",
2795
- "additionalProperties": false,
2796
- "required": [
2797
- "type",
2798
- "text",
2799
- "request_id"
2800
- ],
2801
- "properties": {
2802
- "type": {
2803
- "type": "string",
2804
- "enum": [
2805
- "complete"
2806
- ]
2807
- },
2808
- "text": {
2809
- "type": "string",
2810
- "minLength": 1,
2811
- "maxLength": 12000
2812
- },
2813
- "request_id": {
2814
- "type": "string",
2815
- "format": "uuid"
2816
- }
2817
- }
2818
- },
2819
- {
2820
- "type": "object",
2821
- "additionalProperties": false,
2822
- "required": [
2823
- "type",
2824
- "code",
2825
- "request_id"
2826
- ],
2827
- "properties": {
2828
- "type": {
2829
- "type": "string",
2830
- "enum": [
2831
- "error"
2832
- ]
2833
- },
2834
- "code": {
2835
- "type": "string",
2836
- "enum": [
2837
- "UNAVAILABLE"
2838
- ]
2839
- },
2840
- "request_id": {
2841
- "type": "string",
2842
- "format": "uuid"
2843
- }
2844
- }
2845
- }
2846
- ]
2847
- },
2848
- "PublicChatError": {
2849
- "type": "object",
2850
- "required": [
2851
- "code"
2852
- ],
2853
- "properties": {
2854
- "code": {
2855
- "type": "string",
2856
- "enum": [
2857
- "INVALID_REQUEST",
2858
- "ORIGIN_DENIED",
2859
- "NOT_FOUND",
2860
- "INVALID_GRANT",
2861
- "SESSION_EXPIRED",
2862
- "RATE_LIMITED",
2863
- "SESSION_LIMIT",
2864
- "USAGE_LIMIT",
2865
- "REQUEST_CONFLICT",
2866
- "IN_PROGRESS",
2867
- "UNAVAILABLE",
2868
- "TEMPORARILY_UNAVAILABLE"
2869
- ]
2870
- }
2871
- }
2872
- }
2873
- },
2874
- "responses": {
2875
- "Error": {
2876
- "description": "400 invalid input, 401 expired capability, 403 origin denied, 404 unpublished widget, 409 conflict, 413 too large, 429 rate limit, or 503 unavailable.",
2877
- "content": {
2878
- "application/json": {
2879
- "schema": {
2880
- "type": "object",
2881
- "required": [
2882
- "code"
2883
- ],
2884
- "properties": {
2885
- "code": {
2886
- "type": "string",
2887
- "enum": [
2888
- "INVALID_REQUEST",
2889
- "ORIGIN_DENIED",
2890
- "NOT_FOUND",
2891
- "INVALID_GRANT",
2892
- "SESSION_EXPIRED",
2893
- "RATE_LIMITED",
2894
- "SESSION_LIMIT",
2895
- "USAGE_LIMIT",
2896
- "REQUEST_CONFLICT",
2897
- "IN_PROGRESS",
2898
- "UNAVAILABLE",
2899
- "TEMPORARILY_UNAVAILABLE"
2900
- ]
2901
- }
2902
- }
2903
- }
2904
- }
2905
- }
2906
- }
2907
- }
2908
- }
2909
- }