@epilot/app-client 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -0
- package/dist/client.d.ts +3 -0
- package/dist/client.js +37 -0
- package/dist/definition.d.ts +3 -0
- package/dist/definition.js +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +18 -0
- package/dist/openapi-runtime.json +92 -0
- package/dist/openapi.d.ts +504 -0
- package/dist/openapi.json +710 -0
- package/package.json +76 -0
- package/tsconfig.json +24 -0
|
@@ -0,0 +1,710 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openapi": "3.0.3",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "App API",
|
|
5
|
+
"description": "API for managing app publishing and installed app.",
|
|
6
|
+
"version": "1.0.0"
|
|
7
|
+
},
|
|
8
|
+
"servers": [
|
|
9
|
+
{
|
|
10
|
+
"url": "https://app.sls.epilot.io"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"url": "https://app.sls.epilot.io"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"security": [
|
|
17
|
+
{
|
|
18
|
+
"EpilotAuth": []
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"EpilotOrg": []
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"paths": {
|
|
25
|
+
"/v1/app:uploadManifest": {
|
|
26
|
+
"post": {
|
|
27
|
+
"operationId": "uploadManifest",
|
|
28
|
+
"summary": "uploadManifest",
|
|
29
|
+
"description": "Create pre-signed S3 URL to upload a manifest file.\n",
|
|
30
|
+
"tags": [
|
|
31
|
+
"Import"
|
|
32
|
+
],
|
|
33
|
+
"requestBody": {
|
|
34
|
+
"content": {
|
|
35
|
+
"application/json": {
|
|
36
|
+
"schema": {
|
|
37
|
+
"$ref": "#/components/schemas/UploadFilePayload"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"responses": {
|
|
43
|
+
"201": {
|
|
44
|
+
"description": "Pre-signed URL for POST / PUT upload",
|
|
45
|
+
"content": {
|
|
46
|
+
"application/json": {
|
|
47
|
+
"schema": {
|
|
48
|
+
"type": "object",
|
|
49
|
+
"properties": {
|
|
50
|
+
"s3ref": {
|
|
51
|
+
"$ref": "#/components/schemas/S3Reference"
|
|
52
|
+
},
|
|
53
|
+
"upload_url": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"format": "url",
|
|
56
|
+
"example": "https://epilot-dev-blueprints.s3.eu-central-1.amazonaws.com/templates/document.pdf"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"/v1/app": {
|
|
67
|
+
"get": {
|
|
68
|
+
"summary": "listInstalledApps",
|
|
69
|
+
"description": "Retrieve a list of installed apps for the organization.",
|
|
70
|
+
"operationId": "listInstalledApps",
|
|
71
|
+
"parameters": [
|
|
72
|
+
{
|
|
73
|
+
"name": "componentType",
|
|
74
|
+
"in": "query",
|
|
75
|
+
"schema": {
|
|
76
|
+
"$ref": "#/components/schemas/ComponentType"
|
|
77
|
+
},
|
|
78
|
+
"description": "Filter apps by specific component type",
|
|
79
|
+
"example": "CUSTOM_JOURNEY_BLOCK"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "page",
|
|
83
|
+
"in": "query",
|
|
84
|
+
"schema": {
|
|
85
|
+
"type": "integer",
|
|
86
|
+
"default": 1
|
|
87
|
+
},
|
|
88
|
+
"description": "Page number for pagination"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"name": "pageSize",
|
|
92
|
+
"in": "query",
|
|
93
|
+
"schema": {
|
|
94
|
+
"type": "integer",
|
|
95
|
+
"default": 20
|
|
96
|
+
},
|
|
97
|
+
"description": "Number of items per page"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"responses": {
|
|
101
|
+
"200": {
|
|
102
|
+
"description": "Successful response",
|
|
103
|
+
"content": {
|
|
104
|
+
"application/json": {
|
|
105
|
+
"schema": {
|
|
106
|
+
"type": "object",
|
|
107
|
+
"properties": {
|
|
108
|
+
"apps": {
|
|
109
|
+
"type": "array",
|
|
110
|
+
"items": {
|
|
111
|
+
"$ref": "#/components/schemas/App"
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
"pagination": {
|
|
115
|
+
"type": "object",
|
|
116
|
+
"properties": {
|
|
117
|
+
"total": {
|
|
118
|
+
"type": "integer"
|
|
119
|
+
},
|
|
120
|
+
"page": {
|
|
121
|
+
"type": "integer"
|
|
122
|
+
},
|
|
123
|
+
"pageSize": {
|
|
124
|
+
"type": "integer"
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"/v1/app/{appId}": {
|
|
137
|
+
"get": {
|
|
138
|
+
"summary": "getInstalledApp",
|
|
139
|
+
"description": "Retrieve details of an installed app by its ID.",
|
|
140
|
+
"operationId": "getInstalledApp",
|
|
141
|
+
"parameters": [
|
|
142
|
+
{
|
|
143
|
+
"name": "appId",
|
|
144
|
+
"in": "path",
|
|
145
|
+
"required": true,
|
|
146
|
+
"schema": {
|
|
147
|
+
"type": "string"
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"responses": {
|
|
152
|
+
"200": {
|
|
153
|
+
"description": "Details about installed app.",
|
|
154
|
+
"content": {
|
|
155
|
+
"application/json": {
|
|
156
|
+
"schema": {
|
|
157
|
+
"$ref": "#/components/schemas/App"
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"404": {
|
|
163
|
+
"description": "App not found."
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"put": {
|
|
168
|
+
"summary": "installApp",
|
|
169
|
+
"description": "Update assets of a specific installed app by its ID.",
|
|
170
|
+
"operationId": "installApp",
|
|
171
|
+
"parameters": [
|
|
172
|
+
{
|
|
173
|
+
"name": "appId",
|
|
174
|
+
"in": "path",
|
|
175
|
+
"required": true,
|
|
176
|
+
"schema": {
|
|
177
|
+
"type": "string"
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
],
|
|
181
|
+
"requestBody": {
|
|
182
|
+
"$ref": "#/components/requestBodies/InstallAppRequest"
|
|
183
|
+
},
|
|
184
|
+
"responses": {
|
|
185
|
+
"204": {
|
|
186
|
+
"description": "App installation updated successfully."
|
|
187
|
+
},
|
|
188
|
+
"404": {
|
|
189
|
+
"description": "App not found."
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
"delete": {
|
|
194
|
+
"summary": "uninstallApp",
|
|
195
|
+
"description": "Uninstall an app by its ID.",
|
|
196
|
+
"operationId": "uninstallApp",
|
|
197
|
+
"parameters": [
|
|
198
|
+
{
|
|
199
|
+
"name": "appId",
|
|
200
|
+
"in": "path",
|
|
201
|
+
"required": true,
|
|
202
|
+
"schema": {
|
|
203
|
+
"type": "string"
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
],
|
|
207
|
+
"responses": {
|
|
208
|
+
"204": {
|
|
209
|
+
"description": "App deleted successfully."
|
|
210
|
+
},
|
|
211
|
+
"404": {
|
|
212
|
+
"description": "App not found."
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
"components": {
|
|
219
|
+
"requestBodies": {
|
|
220
|
+
"InstallAppRequest": {
|
|
221
|
+
"content": {
|
|
222
|
+
"application/json": {
|
|
223
|
+
"schema": {
|
|
224
|
+
"$ref": "#/components/schemas/App"
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
"securitySchemes": {
|
|
231
|
+
"EpilotAuth": {
|
|
232
|
+
"type": "http",
|
|
233
|
+
"scheme": "bearer",
|
|
234
|
+
"description": "Authorization header with epilot OAuth2 bearer token",
|
|
235
|
+
"bearerFormat": "JWT"
|
|
236
|
+
},
|
|
237
|
+
"EpilotOrg": {
|
|
238
|
+
"description": "Overrides the target organization to allow shared tenantaccess",
|
|
239
|
+
"name": "x-epilot-org-id",
|
|
240
|
+
"in": "header",
|
|
241
|
+
"type": "apiKey"
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
"schemas": {
|
|
245
|
+
"ConfigurationOptions": {
|
|
246
|
+
"type": "object",
|
|
247
|
+
"description": "Options for the component configuration",
|
|
248
|
+
"required": [
|
|
249
|
+
"key",
|
|
250
|
+
"type"
|
|
251
|
+
],
|
|
252
|
+
"properties": {
|
|
253
|
+
"key": {
|
|
254
|
+
"type": "string",
|
|
255
|
+
"description": "Unique identifier for this configuration option"
|
|
256
|
+
},
|
|
257
|
+
"label": {
|
|
258
|
+
"type": "string",
|
|
259
|
+
"description": "Human-readable label for the configuration option"
|
|
260
|
+
},
|
|
261
|
+
"description": {
|
|
262
|
+
"type": "string",
|
|
263
|
+
"description": "Detailed description of what this configuration option does"
|
|
264
|
+
},
|
|
265
|
+
"value": {
|
|
266
|
+
"type": "string",
|
|
267
|
+
"description": "The configured value (only used in App installation)"
|
|
268
|
+
},
|
|
269
|
+
"type": {
|
|
270
|
+
"type": "string",
|
|
271
|
+
"enum": [
|
|
272
|
+
"string",
|
|
273
|
+
"number",
|
|
274
|
+
"boolean",
|
|
275
|
+
"secret"
|
|
276
|
+
]
|
|
277
|
+
},
|
|
278
|
+
"required": {
|
|
279
|
+
"type": "boolean",
|
|
280
|
+
"default": false,
|
|
281
|
+
"description": "Whether this configuration option must be set"
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
},
|
|
285
|
+
"UploadFilePayload": {
|
|
286
|
+
"type": "object",
|
|
287
|
+
"properties": {
|
|
288
|
+
"filename": {
|
|
289
|
+
"type": "string",
|
|
290
|
+
"example": "example.manifest.zip"
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
"required": [
|
|
294
|
+
"filename"
|
|
295
|
+
]
|
|
296
|
+
},
|
|
297
|
+
"S3Reference": {
|
|
298
|
+
"type": "object",
|
|
299
|
+
"properties": {
|
|
300
|
+
"bucket": {
|
|
301
|
+
"type": "string",
|
|
302
|
+
"description": "The name of the S3 bucket where the JSON file for import is stored.",
|
|
303
|
+
"example": "my-bucket"
|
|
304
|
+
},
|
|
305
|
+
"key": {
|
|
306
|
+
"type": "string",
|
|
307
|
+
"description": "The key or path to the JSON file within the S3 bucket.",
|
|
308
|
+
"example": "manifest.json"
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
"required": [
|
|
312
|
+
"bucket",
|
|
313
|
+
"key"
|
|
314
|
+
]
|
|
315
|
+
},
|
|
316
|
+
"ComponentType": {
|
|
317
|
+
"type": "string",
|
|
318
|
+
"enum": [
|
|
319
|
+
"CUSTOM_JOURNEY_BLOCK",
|
|
320
|
+
"PORTAL_EXTENSION"
|
|
321
|
+
],
|
|
322
|
+
"description": "Type of app component"
|
|
323
|
+
},
|
|
324
|
+
"Author": {
|
|
325
|
+
"type": "object",
|
|
326
|
+
"required": [
|
|
327
|
+
"id",
|
|
328
|
+
"name"
|
|
329
|
+
],
|
|
330
|
+
"properties": {
|
|
331
|
+
"id": {
|
|
332
|
+
"type": "string",
|
|
333
|
+
"description": "Unique identifier for the author"
|
|
334
|
+
},
|
|
335
|
+
"name": {
|
|
336
|
+
"type": "string",
|
|
337
|
+
"description": "Name of the author"
|
|
338
|
+
},
|
|
339
|
+
"company": {
|
|
340
|
+
"type": "string",
|
|
341
|
+
"description": "Company of the author"
|
|
342
|
+
},
|
|
343
|
+
"email": {
|
|
344
|
+
"type": "string",
|
|
345
|
+
"description": "Email of the author"
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
},
|
|
349
|
+
"BaseComponentCommon": {
|
|
350
|
+
"type": "object",
|
|
351
|
+
"required": [
|
|
352
|
+
"id"
|
|
353
|
+
],
|
|
354
|
+
"properties": {
|
|
355
|
+
"id": {
|
|
356
|
+
"type": "string",
|
|
357
|
+
"description": "Unique identifier for the component"
|
|
358
|
+
},
|
|
359
|
+
"config_options": {
|
|
360
|
+
"type": "array",
|
|
361
|
+
"items": {
|
|
362
|
+
"$ref": "#/components/schemas/ConfigurationOptions"
|
|
363
|
+
},
|
|
364
|
+
"description": "List of required options for the app component"
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
},
|
|
368
|
+
"BaseComponent": {
|
|
369
|
+
"allOf": [
|
|
370
|
+
{
|
|
371
|
+
"$ref": "#/components/schemas/BaseComponentCommon"
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"oneOf": [
|
|
375
|
+
{
|
|
376
|
+
"type": "object",
|
|
377
|
+
"required": [
|
|
378
|
+
"component_type",
|
|
379
|
+
"configuration"
|
|
380
|
+
],
|
|
381
|
+
"properties": {
|
|
382
|
+
"component_type": {
|
|
383
|
+
"type": "string",
|
|
384
|
+
"enum": [
|
|
385
|
+
"CUSTOM_JOURNEY_BLOCK"
|
|
386
|
+
]
|
|
387
|
+
},
|
|
388
|
+
"configuration": {
|
|
389
|
+
"$ref": "#/components/schemas/JourneyBlockConfig"
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
"type": "object",
|
|
395
|
+
"required": [
|
|
396
|
+
"type",
|
|
397
|
+
"configuration"
|
|
398
|
+
],
|
|
399
|
+
"properties": {
|
|
400
|
+
"component_type": {
|
|
401
|
+
"type": "string",
|
|
402
|
+
"enum": [
|
|
403
|
+
"PORTAL_EXTENSION"
|
|
404
|
+
]
|
|
405
|
+
},
|
|
406
|
+
"configuration": {
|
|
407
|
+
"$ref": "#/components/schemas/PortalExtensionConfig"
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
]
|
|
412
|
+
}
|
|
413
|
+
],
|
|
414
|
+
"discriminator": {
|
|
415
|
+
"propertyName": "componentType",
|
|
416
|
+
"mapping": {
|
|
417
|
+
"CUSTOM_JOURNEY_BLOCK": "#/components/schemas/JourneyBlockConfig",
|
|
418
|
+
"PORTAL_EXTENSION": "#/components/schemas/PortalExtensionConfig"
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
},
|
|
422
|
+
"PortalExtensionConfig": {
|
|
423
|
+
"type": "object",
|
|
424
|
+
"properties": {
|
|
425
|
+
"id": {
|
|
426
|
+
"type": "string"
|
|
427
|
+
},
|
|
428
|
+
"hooks": {
|
|
429
|
+
"type": "array",
|
|
430
|
+
"items": {
|
|
431
|
+
"type": "object",
|
|
432
|
+
"properties": {
|
|
433
|
+
"id": {
|
|
434
|
+
"type": "string"
|
|
435
|
+
},
|
|
436
|
+
"type": {
|
|
437
|
+
"type": "string"
|
|
438
|
+
},
|
|
439
|
+
"name": {
|
|
440
|
+
"type": "string"
|
|
441
|
+
},
|
|
442
|
+
"interval": {
|
|
443
|
+
"type": "array",
|
|
444
|
+
"items": {
|
|
445
|
+
"type": "string"
|
|
446
|
+
}
|
|
447
|
+
},
|
|
448
|
+
"auth": {
|
|
449
|
+
"$ref": "#/components/schemas/PortalAuth"
|
|
450
|
+
},
|
|
451
|
+
"call": {
|
|
452
|
+
"type": "object",
|
|
453
|
+
"properties": {
|
|
454
|
+
"url": {
|
|
455
|
+
"type": "string"
|
|
456
|
+
},
|
|
457
|
+
"headers": {
|
|
458
|
+
"type": "object",
|
|
459
|
+
"additionalProperties": {
|
|
460
|
+
"type": "string"
|
|
461
|
+
}
|
|
462
|
+
},
|
|
463
|
+
"params": {
|
|
464
|
+
"type": "object",
|
|
465
|
+
"additionalProperties": {
|
|
466
|
+
"type": "string"
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
},
|
|
474
|
+
"links": {
|
|
475
|
+
"type": "array",
|
|
476
|
+
"items": {
|
|
477
|
+
"type": "object",
|
|
478
|
+
"properties": {
|
|
479
|
+
"id": {
|
|
480
|
+
"type": "string"
|
|
481
|
+
},
|
|
482
|
+
"type": {
|
|
483
|
+
"type": "string"
|
|
484
|
+
},
|
|
485
|
+
"name": {
|
|
486
|
+
"type": "string"
|
|
487
|
+
},
|
|
488
|
+
"description": {
|
|
489
|
+
"type": "string"
|
|
490
|
+
},
|
|
491
|
+
"condition": {
|
|
492
|
+
"type": "string"
|
|
493
|
+
},
|
|
494
|
+
"auth": {
|
|
495
|
+
"$ref": "#/components/schemas/PortalAuth"
|
|
496
|
+
},
|
|
497
|
+
"redirect": {
|
|
498
|
+
"type": "object",
|
|
499
|
+
"properties": {
|
|
500
|
+
"url": {
|
|
501
|
+
"type": "string"
|
|
502
|
+
},
|
|
503
|
+
"params": {
|
|
504
|
+
"type": "object",
|
|
505
|
+
"additionalProperties": {
|
|
506
|
+
"type": "string"
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
},
|
|
516
|
+
"PortalAuth": {
|
|
517
|
+
"type": "object",
|
|
518
|
+
"properties": {
|
|
519
|
+
"type": {
|
|
520
|
+
"type": "string"
|
|
521
|
+
},
|
|
522
|
+
"url": {
|
|
523
|
+
"type": "string"
|
|
524
|
+
},
|
|
525
|
+
"method": {
|
|
526
|
+
"type": "string"
|
|
527
|
+
},
|
|
528
|
+
"headers": {
|
|
529
|
+
"type": "object",
|
|
530
|
+
"additionalProperties": {
|
|
531
|
+
"type": "string"
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
},
|
|
536
|
+
"JourneyBlockConfig": {
|
|
537
|
+
"type": "object",
|
|
538
|
+
"required": [
|
|
539
|
+
"bundleS3ref",
|
|
540
|
+
"componentTag"
|
|
541
|
+
],
|
|
542
|
+
"properties": {
|
|
543
|
+
"bundle_s3Ref": {
|
|
544
|
+
"$ref": "#/components/schemas/S3Reference"
|
|
545
|
+
},
|
|
546
|
+
"component_tag": {
|
|
547
|
+
"type": "string",
|
|
548
|
+
"description": "Custom element tag for the component"
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
},
|
|
552
|
+
"App": {
|
|
553
|
+
"allOf": [
|
|
554
|
+
{
|
|
555
|
+
"$ref": "#/components/schemas/AppConfiguration"
|
|
556
|
+
}
|
|
557
|
+
],
|
|
558
|
+
"description": "Information about the installed app",
|
|
559
|
+
"type": "object",
|
|
560
|
+
"properties": {
|
|
561
|
+
"installation_id": {
|
|
562
|
+
"type": "string",
|
|
563
|
+
"description": "Unique identifier for the app installation",
|
|
564
|
+
"readOnly": true
|
|
565
|
+
},
|
|
566
|
+
"organization_id": {
|
|
567
|
+
"type": "string",
|
|
568
|
+
"description": "Unique identifier for the organization the app is installed in",
|
|
569
|
+
"readOnly": true
|
|
570
|
+
},
|
|
571
|
+
"installed_at": {
|
|
572
|
+
"type": "string",
|
|
573
|
+
"description": "Timestamp of app creation",
|
|
574
|
+
"readOnly": true
|
|
575
|
+
},
|
|
576
|
+
"installed_by": {
|
|
577
|
+
"type": "string",
|
|
578
|
+
"description": "User ID of the user who installed the app",
|
|
579
|
+
"readOnly": true
|
|
580
|
+
},
|
|
581
|
+
"enabled": {
|
|
582
|
+
"type": "boolean",
|
|
583
|
+
"default": true,
|
|
584
|
+
"description": "Flag to indicate if the app is enabled."
|
|
585
|
+
},
|
|
586
|
+
"config_values": {
|
|
587
|
+
"type": "object",
|
|
588
|
+
"properties": {
|
|
589
|
+
"component_id": {
|
|
590
|
+
"type": "string"
|
|
591
|
+
},
|
|
592
|
+
"options": {
|
|
593
|
+
"type": "array",
|
|
594
|
+
"items": {
|
|
595
|
+
"$ref": "#/components/schemas/ConfigurationOptions"
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
},
|
|
599
|
+
"description": "Configuration values for the app components"
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
},
|
|
603
|
+
"AppConfiguration": {
|
|
604
|
+
"type": "object",
|
|
605
|
+
"description": "Configuration of the published app",
|
|
606
|
+
"properties": {
|
|
607
|
+
"app_id": {
|
|
608
|
+
"type": "string"
|
|
609
|
+
},
|
|
610
|
+
"name": {
|
|
611
|
+
"type": "string"
|
|
612
|
+
},
|
|
613
|
+
"icon_url": {
|
|
614
|
+
"type": "string",
|
|
615
|
+
"description": "URL of the app icon."
|
|
616
|
+
},
|
|
617
|
+
"documentation_url": {
|
|
618
|
+
"type": "string",
|
|
619
|
+
"description": "URL of the app documentation."
|
|
620
|
+
},
|
|
621
|
+
"description": {
|
|
622
|
+
"type": "string"
|
|
623
|
+
},
|
|
624
|
+
"app_s3ref": {
|
|
625
|
+
"description": "Link to the bundle (.zip) which contains all the app relevant assets",
|
|
626
|
+
"$ref": "#/components/schemas/S3Reference"
|
|
627
|
+
},
|
|
628
|
+
"created_by": {
|
|
629
|
+
"type": "string",
|
|
630
|
+
"readOnly": true
|
|
631
|
+
},
|
|
632
|
+
"created_at": {
|
|
633
|
+
"type": "string",
|
|
634
|
+
"readOnly": true
|
|
635
|
+
},
|
|
636
|
+
"updated_at": {
|
|
637
|
+
"type": "string",
|
|
638
|
+
"readOnly": true
|
|
639
|
+
},
|
|
640
|
+
"version": {
|
|
641
|
+
"type": "string",
|
|
642
|
+
"readOnly": true
|
|
643
|
+
},
|
|
644
|
+
"author": {
|
|
645
|
+
"$ref": "#/components/schemas/Author"
|
|
646
|
+
},
|
|
647
|
+
"status": {
|
|
648
|
+
"type": "string",
|
|
649
|
+
"enum": [
|
|
650
|
+
"published",
|
|
651
|
+
"pending"
|
|
652
|
+
]
|
|
653
|
+
},
|
|
654
|
+
"components": {
|
|
655
|
+
"type": "array",
|
|
656
|
+
"items": {
|
|
657
|
+
"$ref": "#/components/schemas/BaseComponent"
|
|
658
|
+
}
|
|
659
|
+
},
|
|
660
|
+
"internal": {
|
|
661
|
+
"type": "boolean",
|
|
662
|
+
"default": false,
|
|
663
|
+
"description": "Flag to indicate if the app is built by epilot.",
|
|
664
|
+
"readOnly": true
|
|
665
|
+
},
|
|
666
|
+
"owner_org_id": {
|
|
667
|
+
"type": "string",
|
|
668
|
+
"description": "Organization ID of the app owner, required for private apps"
|
|
669
|
+
},
|
|
670
|
+
"access_level": {
|
|
671
|
+
"type": "string",
|
|
672
|
+
"enum": [
|
|
673
|
+
"public",
|
|
674
|
+
"private"
|
|
675
|
+
],
|
|
676
|
+
"default": "public",
|
|
677
|
+
"description": "Access level of the app."
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
},
|
|
681
|
+
"CallerIdentity": {
|
|
682
|
+
"type": "object",
|
|
683
|
+
"properties": {
|
|
684
|
+
"name": {
|
|
685
|
+
"description": "a human readable name of the caller (e.g. user name, token name or email address)",
|
|
686
|
+
"example": "manifest@epilot.cloud"
|
|
687
|
+
},
|
|
688
|
+
"org_id": {
|
|
689
|
+
"description": "epilot organization id",
|
|
690
|
+
"type": "string",
|
|
691
|
+
"example": "911690"
|
|
692
|
+
},
|
|
693
|
+
"user_id": {
|
|
694
|
+
"description": "epilot user id, when called by a user",
|
|
695
|
+
"type": "string",
|
|
696
|
+
"example": "11001045"
|
|
697
|
+
},
|
|
698
|
+
"token_id": {
|
|
699
|
+
"description": "token id, when called by API token",
|
|
700
|
+
"type": "string",
|
|
701
|
+
"example": "api_5ZugdRXasLfWBypHi93Fk"
|
|
702
|
+
}
|
|
703
|
+
},
|
|
704
|
+
"required": [
|
|
705
|
+
"org_id"
|
|
706
|
+
]
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
}
|