@celigo/api-specs 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +119 -0
  3. package/dist/account.yml +592 -0
  4. package/dist/agent.yml +908 -0
  5. package/dist/ai-agent.yml +5471 -0
  6. package/dist/api.yml +4140 -0
  7. package/dist/apim.yml +1286 -0
  8. package/dist/asynchelper.yml +3391 -0
  9. package/dist/audit.yml +2006 -0
  10. package/dist/connection.yml +8665 -0
  11. package/dist/connector.yml +1406 -0
  12. package/dist/ediprofile.yml +911 -0
  13. package/dist/editransaction.yml +1210 -0
  14. package/dist/enduser.yml +1724 -0
  15. package/dist/environment.yml +568 -0
  16. package/dist/eventreport.yml +692 -0
  17. package/dist/export.yml +17610 -0
  18. package/dist/filedefinition.yml +1396 -0
  19. package/dist/filestorage.yml +3102 -0
  20. package/dist/flow.yml +7928 -0
  21. package/dist/guardrail.yml +2763 -0
  22. package/dist/httpconnector.yml +2277 -0
  23. package/dist/httpconnectorendpoint.yml +722 -0
  24. package/dist/httpconnectorresource.yml +396 -0
  25. package/dist/iclient.yml +4452 -0
  26. package/dist/import.yml +15381 -0
  27. package/dist/integration.yml +4406 -0
  28. package/dist/job.yml +2014 -0
  29. package/dist/lookupcache.yml +1325 -0
  30. package/dist/marketplace.yml +685 -0
  31. package/dist/mcp-oauth-provider.yml +590 -0
  32. package/dist/mcp-server.yml +2656 -0
  33. package/dist/notification.yml +488 -0
  34. package/dist/processor.yml +1253 -0
  35. package/dist/profile.yml +455 -0
  36. package/dist/recyclebin.yml +768 -0
  37. package/dist/script.yml +1128 -0
  38. package/dist/stack.yml +1291 -0
  39. package/dist/state.yml +894 -0
  40. package/dist/subscription.yml +1405 -0
  41. package/dist/sync.yml +4857 -0
  42. package/dist/tag.yml +553 -0
  43. package/dist/template.yml +897 -0
  44. package/dist/tool.yml +33656 -0
  45. package/dist/tradingpartnerconnector.yml +1490 -0
  46. package/dist/user.yml +831 -0
  47. package/package.json +41 -0
  48. package/schemas.json +8420 -0
package/dist/stack.yml ADDED
@@ -0,0 +1,1291 @@
1
+ openapi: 3.2.0
2
+ info:
3
+ version: 1.0.0
4
+ title: Stacks
5
+ description: Manage stack execution environments for integrations.
6
+ x-celigo-ai-guidance:
7
+ - |-
8
+ API for managing stacks (server stacks and AWS Lambda stacks) used to run extension code (hooks,
9
+ wrappers, scripts) in integrator.io.
10
+ servers:
11
+ - url: https://api.integrator.io
12
+ description: Production (US / default region)
13
+ - url: https://api.eu.integrator.io
14
+ description: Production (EU region)
15
+ - url: https://api.au.integrator.io
16
+ description: Production (AU region)
17
+ - url: https://api.ca.integrator.io
18
+ description: Production (CA region)
19
+ security:
20
+ - bearerAuth: []
21
+ tags:
22
+ - name: Stacks
23
+ description: |-
24
+ Stacks are execution environments that run custom extension code for integrations. Two types are supported: **server** (self-hosted) and **lambda** (AWS Lambda).
25
+
26
+ ## Stack schema
27
+
28
+ {% openapi-schemas spec="stack" schemas="Stack" grouped="true" %}
29
+ paths:
30
+ /v1/stacks:
31
+ get:
32
+ x-internal: false
33
+ summary: List stacks
34
+ description: Returns all stacks configured in the account.
35
+ x-celigo-ai-guidance:
36
+ - Returns a list of stacks configured in the account (server stacks and lambda stacks).
37
+ operationId: listStacks
38
+ tags:
39
+ - Stacks
40
+ parameters:
41
+ - name: limit
42
+ in: query
43
+ required: false
44
+ description: Maximum number of stacks to return per page.
45
+ schema:
46
+ type: integer
47
+ minimum: 1
48
+ maximum: 1000
49
+ default: 1000
50
+ examples:
51
+ - 100
52
+ - $ref: '#/components/parameters/Include'
53
+ - $ref: '#/components/parameters/Exclude'
54
+ responses:
55
+ '200':
56
+ description: Array of stack objects.
57
+ x-celigo-ai-guidance:
58
+ - Successfully retrieved list of stacks.
59
+ headers:
60
+ Link:
61
+ description: |-
62
+ RFC 5988 pagination links. When more pages remain, includes a
63
+ `<...>; rel="next"` entry with an `after` cursor; absent on the
64
+ final page.
65
+ schema:
66
+ type: string
67
+ content:
68
+ application/json:
69
+ schema:
70
+ type: array
71
+ items:
72
+ $ref: '#/components/schemas/Stack'
73
+ examples:
74
+ mixed:
75
+ value:
76
+ - _id: 62100ec7abb76c310718b0f0
77
+ name: Realtime-ify Stack
78
+ type: server
79
+ lastModified: '2022-02-18T21:25:27.903Z'
80
+ createdAt: '2022-02-18T21:25:27.864Z'
81
+ server:
82
+ systemToken: '******'
83
+ hostURI: https://my-stack-server.example.com:3000
84
+ - _id: 62b4e242bffb3066e9e0a80d
85
+ name: Order Processing Lambda
86
+ type: lambda
87
+ lastModified: '2025-08-10T14:22:33.000Z'
88
+ createdAt: '2022-06-23T21:59:30.448Z'
89
+ lambda:
90
+ accessKeyId: AKIAIOSFODNN7EXAMPLE
91
+ secretAccessKey: '******'
92
+ awsRegion: us-east-1
93
+ functionName: processOrders
94
+ language: Node.js
95
+ '204':
96
+ description: No stacks exist in the account.
97
+ '401':
98
+ $ref: '#/components/responses/401-unauthorized'
99
+ '422':
100
+ $ref: '#/components/responses/422-unprocessable-entity'
101
+ post:
102
+ x-internal: false
103
+ summary: Create a stack
104
+ description: |-
105
+ Creates a new stack. For server stacks, retrieve the system token
106
+ after creation via `GET /v1/stacks/{_id}/systemToken`.
107
+ x-celigo-ai-guidance:
108
+ - |-
109
+ - For `type=server`, provide `server.hostURI` (and optional `server.ipRanges`).
110
+ - For `type=lambda`, provide AWS credentials and function details under `lambda`.
111
+ operationId: createStack
112
+ tags:
113
+ - Stacks
114
+ requestBody:
115
+ required: true
116
+ content:
117
+ application/json:
118
+ schema:
119
+ $ref: '#/components/schemas/Request'
120
+ examples:
121
+ serverStack:
122
+ summary: Server stack
123
+ value:
124
+ name: Production Server Stack
125
+ type: server
126
+ server:
127
+ hostURI: https://my-stack-server.example.com:3000
128
+ lambdaStack:
129
+ summary: Lambda stack
130
+ value:
131
+ name: Order Processing Lambda
132
+ type: lambda
133
+ lambda:
134
+ accessKeyId: AKIAIOSFODNN7EXAMPLE
135
+ secretAccessKey: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
136
+ awsRegion: us-east-1
137
+ functionName: processOrders
138
+ responses:
139
+ '201':
140
+ description: Created stack.
141
+ x-celigo-ai-guidance:
142
+ - Stack created successfully.
143
+ content:
144
+ application/json:
145
+ schema:
146
+ $ref: '#/components/schemas/Stack'
147
+ examples:
148
+ serverStack:
149
+ summary: Created server stack
150
+ value:
151
+ _id: 673e35899096693f4572c83c
152
+ name: Production Server Stack
153
+ type: server
154
+ lastModified: '2024-11-20T19:16:25.412Z'
155
+ createdAt: '2024-11-20T19:16:25.412Z'
156
+ server:
157
+ systemToken: '******'
158
+ hostURI: https://my-stack-server.example.com:3000
159
+ '400':
160
+ $ref: '#/components/responses/400-bad-request'
161
+ '401':
162
+ $ref: '#/components/responses/401-unauthorized'
163
+ '422':
164
+ $ref: '#/components/responses/422-unprocessable-entity'
165
+ /v1/stacks/{_id}:
166
+ get:
167
+ x-internal: false
168
+ summary: Get a stack
169
+ description: Returns a single stack by ID.
170
+ operationId: getStackById
171
+ tags:
172
+ - Stacks
173
+ parameters:
174
+ - name: _id
175
+ in: path
176
+ required: true
177
+ schema:
178
+ type: string
179
+ format: objectId
180
+ x-celigo-refModel: stacks
181
+ description: Stack ID.
182
+ responses:
183
+ '200':
184
+ description: Stack object.
185
+ content:
186
+ application/json:
187
+ schema:
188
+ $ref: '#/components/schemas/Stack'
189
+ examples:
190
+ serverStack:
191
+ summary: Server stack
192
+ value:
193
+ _id: 62100ec7abb76c310718b0f0
194
+ name: Realtime-ify Stack
195
+ type: server
196
+ lastModified: '2022-02-18T21:25:27.903Z'
197
+ createdAt: '2022-02-18T21:25:27.864Z'
198
+ server:
199
+ systemToken: '******'
200
+ hostURI: https://my-stack-server.example.com:3000
201
+ lambdaStack:
202
+ summary: Lambda stack
203
+ value:
204
+ _id: 62b4e242bffb3066e9e0a80d
205
+ name: Order Processing Lambda
206
+ type: lambda
207
+ lastModified: '2025-08-10T14:22:33.000Z'
208
+ createdAt: '2022-06-23T21:59:30.448Z'
209
+ lambda:
210
+ accessKeyId: AKIAIOSFODNN7EXAMPLE
211
+ secretAccessKey: '******'
212
+ awsRegion: us-east-1
213
+ functionName: processOrders
214
+ language: Node.js
215
+ '401':
216
+ $ref: '#/components/responses/401-unauthorized'
217
+ '404':
218
+ $ref: '#/components/responses/404-not-found'
219
+ put:
220
+ x-internal: false
221
+ summary: Update a stack
222
+ description: |-
223
+ Updates a stack. Omitting the config object clears optional fields
224
+ like `framework`. To rotate a server stack's system token, use
225
+ `DELETE /v1/stacks/{_id}/systemToken` instead.
226
+ operationId: updateStack
227
+ tags:
228
+ - Stacks
229
+ parameters:
230
+ - name: _id
231
+ in: path
232
+ required: true
233
+ schema:
234
+ type: string
235
+ format: objectId
236
+ x-celigo-refModel: stacks
237
+ description: Stack ID.
238
+ requestBody:
239
+ required: true
240
+ content:
241
+ application/json:
242
+ schema:
243
+ $ref: '#/components/schemas/Request'
244
+ examples:
245
+ serverStack:
246
+ summary: Update server stack
247
+ value:
248
+ name: Production Server Stack
249
+ type: server
250
+ server:
251
+ hostURI: https://my-stack-server.example.com:3000
252
+ lambdaStack:
253
+ summary: Update lambda stack
254
+ value:
255
+ name: Order Processing Lambda
256
+ type: lambda
257
+ lambda:
258
+ accessKeyId: AKIAIOSFODNN7EXAMPLE
259
+ secretAccessKey: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
260
+ awsRegion: us-east-1
261
+ functionName: processOrders
262
+ responses:
263
+ '200':
264
+ description: Updated stack.
265
+ content:
266
+ application/json:
267
+ schema:
268
+ $ref: '#/components/schemas/Stack'
269
+ examples:
270
+ serverStack:
271
+ summary: Renamed server stack
272
+ value:
273
+ _id: 62100ec7abb76c310718b0f0
274
+ name: Production Server Stack
275
+ type: server
276
+ lastModified: '2025-09-04T08:17:42.901Z'
277
+ createdAt: '2022-02-18T21:25:27.864Z'
278
+ server:
279
+ systemToken: '******'
280
+ hostURI: https://my-stack-server.example.com:3000
281
+ '400':
282
+ $ref: '#/components/responses/400-bad-request'
283
+ '401':
284
+ $ref: '#/components/responses/401-unauthorized'
285
+ '404':
286
+ $ref: '#/components/responses/404-not-found'
287
+ '422':
288
+ $ref: '#/components/responses/422-unprocessable-entity'
289
+ x-celigo-ai-guidance:
290
+ - |-
291
+ - You can update `name`, `framework`, and the config object for the active `type`.
292
+ - Secrets are write-only: provide a new secret value in the request to replace it; responses return masked values.
293
+ delete:
294
+ x-internal: false
295
+ summary: Delete a stack
296
+ description: |-
297
+ Deletes a stack. Soft-deleted and retained in the recycle bin for
298
+ 30 days.
299
+ operationId: deleteStack
300
+ tags:
301
+ - Stacks
302
+ parameters:
303
+ - name: _id
304
+ in: path
305
+ required: true
306
+ schema:
307
+ type: string
308
+ format: objectId
309
+ x-celigo-refModel: stacks
310
+ description: Stack ID.
311
+ responses:
312
+ '204':
313
+ description: Stack deleted.
314
+ '401':
315
+ $ref: '#/components/responses/401-unauthorized'
316
+ '404':
317
+ $ref: '#/components/responses/404-not-found'
318
+ '422':
319
+ $ref: '#/components/responses/422-dependency-conflict'
320
+ /v1/stacks/{_id}/systemToken:
321
+ get:
322
+ x-internal: false
323
+ summary: Get stack system token (server stacks only)
324
+ description: Returns the unmasked system token for a server stack.
325
+ operationId: getStackSystemToken
326
+ tags:
327
+ - Stacks
328
+ parameters:
329
+ - name: _id
330
+ in: path
331
+ required: true
332
+ schema:
333
+ type: string
334
+ format: objectId
335
+ x-celigo-refModel: stacks
336
+ description: Stack ID.
337
+ responses:
338
+ '200':
339
+ description: System token object.
340
+ content:
341
+ application/json:
342
+ schema:
343
+ $ref: '#/components/schemas/SystemTokenResponse'
344
+ examples:
345
+ default:
346
+ value:
347
+ systemToken: 465f5c448f434bc5ae3753bc83d96feb
348
+ '401':
349
+ $ref: '#/components/responses/401-unauthorized'
350
+ '404':
351
+ description: |-
352
+ Stack not found, or the stack is not a server stack. The error
353
+ message is "Stack of type server not found." in both cases.
354
+ content:
355
+ application/json:
356
+ schema:
357
+ $ref: '#/components/schemas/Error'
358
+ examples:
359
+ not_server_stack:
360
+ value:
361
+ errors:
362
+ - message: Stack of type server not found.
363
+ x-celigo-ai-guidance:
364
+ - |-
365
+ Returns the **actual** `systemToken` for a server stack.
366
+ Note: `server.systemToken` on the normal stack response is masked (`******`). Use this endpoint to retrieve the real token.
367
+ delete:
368
+ x-internal: false
369
+ summary: Recycle stack system token (server stacks only)
370
+ description: |-
371
+ Rotates (recycles) the server stack's system token. The old token is
372
+ immediately invalidated. Retrieve the new token via
373
+ `GET /v1/stacks/{_id}/systemToken`.
374
+ operationId: recycleStackSystemToken
375
+ tags:
376
+ - Stacks
377
+ parameters:
378
+ - name: _id
379
+ in: path
380
+ required: true
381
+ schema:
382
+ type: string
383
+ format: objectId
384
+ x-celigo-refModel: stacks
385
+ description: Stack ID.
386
+ responses:
387
+ '204':
388
+ description: Token recycled.
389
+ '401':
390
+ $ref: '#/components/responses/401-unauthorized'
391
+ '404':
392
+ description: Stack not found, or the stack is not a server stack.
393
+ content:
394
+ application/json:
395
+ schema:
396
+ $ref: '#/components/schemas/Error'
397
+ examples:
398
+ not_server_stack:
399
+ value:
400
+ errors:
401
+ - message: Stack of type server not found.
402
+ x-celigo-ai-guidance:
403
+ - |-
404
+ Rotates (recycles) the server stack's system token.
405
+ After this operation, any clients using the old token must be updated to use the new token.
406
+ /v1/stacks/{_id}/audit:
407
+ get:
408
+ x-internal: false
409
+ summary: Get audit log for a stack
410
+ description: |-
411
+ Returns the change history for a stack. Each entry records a mutation
412
+ event with who made the change, when, and which fields were affected.
413
+ tags:
414
+ - Stacks
415
+ operationId: getStackAudit
416
+ parameters:
417
+ - name: _id
418
+ in: path
419
+ description: Stack ID.
420
+ required: true
421
+ schema:
422
+ type: string
423
+ format: objectId
424
+ x-celigo-refModel: stacks
425
+ examples:
426
+ - 62b4e242bffb3066e9e0a80d
427
+ - name: limit
428
+ in: query
429
+ description: Maximum number of audit entries to return per page.
430
+ required: false
431
+ schema:
432
+ type: integer
433
+ minimum: 1
434
+ maximum: 1000
435
+ default: 1000
436
+ examples:
437
+ - 100
438
+ - name: after
439
+ in: query
440
+ required: false
441
+ description: |-
442
+ Opaque pagination cursor for the next page. Take it from the `after` value in the `Link`
443
+ response header's `rel="next"` URL rather than constructing it.
444
+ schema:
445
+ type: string
446
+ examples:
447
+ - W3siJGRhdGUiOiIyMDI2LTA1LTAxVDAwOjAwOjAwLjAwMFoifSwiNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIl0
448
+ - name: from
449
+ in: query
450
+ required: false
451
+ description: Only return entries at or after this timestamp.
452
+ schema:
453
+ type: string
454
+ format: date-time
455
+ examples:
456
+ - '2026-05-01T00:00:00.000Z'
457
+ - name: to
458
+ in: query
459
+ required: false
460
+ description: Only return entries at or before this timestamp.
461
+ schema:
462
+ type: string
463
+ format: date-time
464
+ examples:
465
+ - '2026-05-31T23:59:59.999Z'
466
+ - name: action
467
+ in: query
468
+ required: false
469
+ description: Filter by the change type. Maps to the `event` field on each entry.
470
+ schema:
471
+ type: string
472
+ enum:
473
+ - create
474
+ - update
475
+ - delete
476
+ - view
477
+ - restore
478
+ - purge
479
+ - signin
480
+ - signout
481
+ - purgelogs
482
+ examples:
483
+ - update
484
+ x-enumDescriptions:
485
+ create: A resource was created.
486
+ update: A resource was modified.
487
+ delete: A resource was deleted (moved to recycle bin).
488
+ view: A resource was viewed or accessed.
489
+ restore: A resource was restored from the recycle bin.
490
+ purge: A resource was permanently purged from the recycle bin.
491
+ signin: A user signed in to the account.
492
+ signout: A user signed out of the account.
493
+ purgelogs: Execution logs were purged for a resource.
494
+ - name: source
495
+ in: query
496
+ required: false
497
+ description: Filter by how the change was initiated.
498
+ schema:
499
+ type: string
500
+ enum:
501
+ - ui
502
+ - api
503
+ - system
504
+ - connector
505
+ - script
506
+ - sso
507
+ examples:
508
+ - ui
509
+ x-enumDescriptions:
510
+ ui: Change made through the Celigo web UI.
511
+ api: Change made via the REST API.
512
+ system: Change made automatically by the platform.
513
+ connector: Change made by an Integration App (connector) process.
514
+ script: Change made by a custom script execution.
515
+ sso: Change triggered by an SSO authentication event.
516
+ - name: _byUserId
517
+ in: query
518
+ required: false
519
+ description: Filter to changes performed by a single user.
520
+ schema:
521
+ type: string
522
+ format: objectId
523
+ x-celigo-refModel: users
524
+ examples:
525
+ - 624cb0346309dc3a543733a2
526
+ responses:
527
+ '200':
528
+ description: Array of audit entries, newest first.
529
+ headers:
530
+ Link:
531
+ description: |-
532
+ RFC 5988 pagination link. Includes `<...>; rel="next"` with an
533
+ `after` cursor when more entries exist; absent on the final page.
534
+ schema:
535
+ type: string
536
+ content:
537
+ application/json:
538
+ schema:
539
+ type: array
540
+ items:
541
+ type: object
542
+ properties:
543
+ _id:
544
+ type: string
545
+ format: objectId
546
+ description: Unique identifier for this audit entry.
547
+ examples:
548
+ - 69f63dd77009ea11abf0bce3
549
+ resourceType:
550
+ type: string
551
+ description: Always `stack` for this endpoint.
552
+ examples:
553
+ - stack
554
+ _resourceId:
555
+ type: string
556
+ format: objectId
557
+ x-celigo-refModel: stacks
558
+ description: ID of the stack this entry belongs to.
559
+ examples:
560
+ - 62b4e242bffb3066e9e0a80d
561
+ event:
562
+ type: string
563
+ description: Type of change that occurred.
564
+ enum:
565
+ - create
566
+ - update
567
+ - delete
568
+ x-enumDescriptions:
569
+ create: Stack was created.
570
+ update: Stack was modified.
571
+ delete: Stack was soft-deleted (moved to recycle bin).
572
+ source:
573
+ type: string
574
+ description: How the change was initiated.
575
+ enum:
576
+ - api
577
+ - ui
578
+ - system
579
+ x-enumDescriptions:
580
+ api: Change made via the REST API.
581
+ ui: Change made through the Celigo UI.
582
+ system: Change made by an automated platform process.
583
+ time:
584
+ type: string
585
+ format: date-time
586
+ description: When the change occurred.
587
+ examples:
588
+ - '2026-05-02T18:09:26.975Z'
589
+ byUser:
590
+ type: object
591
+ description: User who made the change.
592
+ properties:
593
+ _id:
594
+ type: string
595
+ format: objectId
596
+ x-celigo-refModel: users
597
+ description: User ID.
598
+ examples:
599
+ - 624cb0346309dc3a543733a2
600
+ email:
601
+ type: string
602
+ format: email
603
+ description: User email address.
604
+ examples:
605
+ - user@example.com
606
+ name:
607
+ type: string
608
+ description: User display name.
609
+ examples:
610
+ - Tyler Lamparter
611
+ fieldChanges:
612
+ type: array
613
+ description: Fields that were modified.
614
+ items:
615
+ type: object
616
+ properties:
617
+ fieldPath:
618
+ type: string
619
+ description: Dot-notation path of the changed field.
620
+ examples:
621
+ - name
622
+ oldValue:
623
+ description: Previous value (absent on create).
624
+ newValue:
625
+ description: New value (absent on delete).
626
+ deletedInfo:
627
+ type: object
628
+ description: Metadata about the deleted resource. Present on `delete` events.
629
+ properties:
630
+ name:
631
+ type: string
632
+ description: Name of the resource at the time of deletion.
633
+ examples:
634
+ - Order Processing Lambda
635
+ examples:
636
+ default:
637
+ value:
638
+ - _id: 69f63dd77009ea11abf0bce3
639
+ resourceType: stack
640
+ _resourceId: 62b4e242bffb3066e9e0a80d
641
+ source: api
642
+ event: update
643
+ time: '2026-05-02T18:09:26.975Z'
644
+ byUser:
645
+ _id: 624cb0346309dc3a543733a2
646
+ email: user@example.com
647
+ name: Tyler Lamparter
648
+ fieldChanges:
649
+ - fieldPath: name
650
+ oldValue: AWS test
651
+ newValue: AWS
652
+ '204':
653
+ description: No audit entries exist for this stack.
654
+ '400':
655
+ $ref: '#/components/responses/400-bad-request'
656
+ '401':
657
+ $ref: '#/components/responses/401-unauthorized'
658
+ '404':
659
+ $ref: '#/components/responses/404-not-found'
660
+ '422':
661
+ $ref: '#/components/responses/422-unprocessable-entity'
662
+ /v1/stacks/{_id}/dependencies:
663
+ get:
664
+ x-internal: false
665
+ operationId: listStackDependencies
666
+ tags:
667
+ - Stacks
668
+ summary: List dependencies of a stack
669
+ description: Returns the set of resources that depend on the specified stack.
670
+ parameters:
671
+ - name: _id
672
+ in: path
673
+ required: true
674
+ description: Stack ID.
675
+ schema:
676
+ type: string
677
+ format: objectId
678
+ x-celigo-refModel: stacks
679
+ responses:
680
+ '200':
681
+ description: |
682
+ Dependency map. Keys are resource-type strings; values are arrays
683
+ of dependency entries. Returns `{}` when no dependents exist.
684
+ content:
685
+ application/json:
686
+ schema:
687
+ $ref: '#/components/schemas/DependencyResponse'
688
+ examples:
689
+ withDependents:
690
+ summary: Stack with dependent resources
691
+ value:
692
+ connections:
693
+ - id: 673f806d0f9d0c860dcfab1e
694
+ name: Wrapper Connection
695
+ paths:
696
+ - wrapper._stackId
697
+ accessLevel: manage
698
+ dependencyIds:
699
+ stack:
700
+ - 673e35899096693f4572c83c
701
+ flows:
702
+ - id: 673e486ac12b3453ea0ba99a
703
+ name: Login flow
704
+ paths:
705
+ - pageGenerators[*]._exportId
706
+ accessLevel: manage
707
+ dependencyIds:
708
+ export:
709
+ - 673e486adc497ab5e649f1ca
710
+ empty:
711
+ summary: No dependents
712
+ value: {}
713
+ '401':
714
+ $ref: '#/components/responses/401-unauthorized'
715
+ components:
716
+ securitySchemes:
717
+ bearerAuth:
718
+ type: http
719
+ scheme: bearer
720
+ parameters:
721
+ Include:
722
+ name: include
723
+ in: query
724
+ required: false
725
+ description: |-
726
+ Comma-separated list of fields to project into each returned record.
727
+ Triggers summary projection: the response contains a minimal identity
728
+ set (`_id`, `name`, plus resource-specific fields) with the requested
729
+ fields added on top. Supports dot notation for nested fields.
730
+ Mutually exclusive with `exclude`.
731
+ schema:
732
+ type: string
733
+ example: _integrationId,disabled,lastModified
734
+ Exclude:
735
+ name: exclude
736
+ in: query
737
+ required: false
738
+ description: |-
739
+ Comma-separated list of fields to strip from the default response.
740
+ Unlike `include`, does not trigger summary projection — returns the
741
+ full record with the named fields removed. Protected identity fields
742
+ (e.g. `name`) cannot be stripped. Mutually exclusive with `include`.
743
+ schema:
744
+ type: string
745
+ example: createdAt,lastModified
746
+ schemas:
747
+ Stack:
748
+ type: object
749
+ description: Stack resource as returned by the API.
750
+ x-celigo-ai-guidance:
751
+ - |-
752
+ Response schema for stack operations: Contains the complete stack configuration.
753
+ Secrets (system token,
754
+ AWS secret access key) are masked as "******" in responses.
755
+ properties:
756
+ _id:
757
+ type: string
758
+ format: objectId
759
+ readOnly: true
760
+ x-celigo-refModel: stacks
761
+ description: Unique identifier for the stack.
762
+ examples:
763
+ - 62100ec7abb76c310718b0f0
764
+ name:
765
+ type: string
766
+ maxLength: 1024
767
+ description: Human-readable display name for the stack.
768
+ examples:
769
+ - Production Server Stack
770
+ type:
771
+ type: string
772
+ enum:
773
+ - server
774
+ - lambda
775
+ x-enumDescriptions:
776
+ server: A self-hosted server that Celigo calls to execute custom code.
777
+ lambda: An AWS Lambda function that Celigo invokes to execute custom code.
778
+ description: Execution environment type that determines which configuration block is present.
779
+ framework:
780
+ type: string
781
+ enum:
782
+ - twoDotZero
783
+ x-enumDescriptions:
784
+ twoDotZero: Version 2.0 of the stack framework.
785
+ description: Framework version. Currently only `twoDotZero` is supported.
786
+ server:
787
+ type: object
788
+ description: |-
789
+ Configuration for server-type stacks. Present when `type` is `server`.
790
+ Legacy lambda-type stacks may also carry a vestigial empty `server`
791
+ object (`{"ipRanges": []}`).
792
+ x-celigo-ai-guidance:
793
+ - |-
794
+ Server stack configuration.
795
+ Only present when `type` is "server" and `hostURI` is set.
796
+ required:
797
+ - hostURI
798
+ - systemToken
799
+ properties:
800
+ hostURI:
801
+ type: string
802
+ maxLength: 1024
803
+ description: Base URI of the server hosting the stack.
804
+ examples:
805
+ - https://my-stack-server.example.com:3000
806
+ systemToken:
807
+ type: string
808
+ readOnly: true
809
+ description: |-
810
+ System token for authenticating with the server stack.
811
+ Always masked as "******" in standard responses. Use the
812
+ dedicated `/stacks/{_id}/systemToken` endpoint to retrieve
813
+ the actual value.
814
+ examples:
815
+ - '******'
816
+ lambda:
817
+ type: object
818
+ description: Configuration for AWS Lambda-type stacks. Present when `type` is `lambda`.
819
+ required:
820
+ - accessKeyId
821
+ - secretAccessKey
822
+ - awsRegion
823
+ - functionName
824
+ properties:
825
+ accessKeyId:
826
+ type: string
827
+ maxLength: 1024
828
+ description: |-
829
+ AWS access key ID for invoking the Lambda function. Unlike
830
+ `secretAccessKey`, it is returned in plaintext in responses.
831
+ examples:
832
+ - AKIAIOSFODNN7EXAMPLE
833
+ secretAccessKey:
834
+ type: string
835
+ maxLength: 511
836
+ description: AWS secret access key. Write-only — responses mask it as "******".
837
+ x-celigo-ai-guidance:
838
+ - AWS secret access key. Always masked as "******".
839
+ examples:
840
+ - '******'
841
+ awsRegion:
842
+ type: string
843
+ enum:
844
+ - us-east-1
845
+ - us-east-2
846
+ - us-west-1
847
+ - us-west-2
848
+ - ap-northeast-2
849
+ - ap-southeast-1
850
+ - ap-southeast-2
851
+ - ap-northeast-1
852
+ - ap-south-1
853
+ - eu-central-1
854
+ - eu-west-1
855
+ x-enumDescriptions:
856
+ us-east-1: US East (N. Virginia).
857
+ us-east-2: US East (Ohio).
858
+ us-west-1: US West (N. California).
859
+ us-west-2: US West (Oregon).
860
+ ap-northeast-2: Asia Pacific (Seoul).
861
+ ap-southeast-1: Asia Pacific (Singapore).
862
+ ap-southeast-2: Asia Pacific (Sydney).
863
+ ap-northeast-1: Asia Pacific (Tokyo).
864
+ ap-south-1: Asia Pacific (Mumbai).
865
+ eu-central-1: Europe (Frankfurt).
866
+ eu-west-1: Europe (Ireland).
867
+ description: AWS region where the Lambda function is deployed.
868
+ examples:
869
+ - us-east-1
870
+ functionName:
871
+ type: string
872
+ maxLength: 1024
873
+ description: Name or ARN of the AWS Lambda function.
874
+ examples:
875
+ - my-integration-function
876
+ language:
877
+ type: string
878
+ enum:
879
+ - Node.js
880
+ - C#
881
+ - Java
882
+ - Other
883
+ x-enumDescriptions:
884
+ Node.js: Lambda function written in Node.js (JavaScript/TypeScript).
885
+ C#: Lambda function written in C# (.NET).
886
+ Java: Lambda function written in Java.
887
+ Other: Lambda function written in another programming language.
888
+ default: Node.js
889
+ description: Programming language of the Lambda function.
890
+ examples:
891
+ - Node.js
892
+ createdAt:
893
+ type: string
894
+ format: date-time
895
+ readOnly: true
896
+ description: Timestamp when the stack was created.
897
+ examples:
898
+ - '2022-02-18T21:25:27.864Z'
899
+ lastModified:
900
+ type: string
901
+ format: date-time
902
+ readOnly: true
903
+ description: Timestamp when the stack was last modified.
904
+ examples:
905
+ - '2022-02-18T21:25:27.903Z'
906
+ required:
907
+ - _id
908
+ - name
909
+ - type
910
+ - createdAt
911
+ - lastModified
912
+ if:
913
+ properties:
914
+ type:
915
+ const: server
916
+ then:
917
+ required:
918
+ - server
919
+ else:
920
+ required:
921
+ - lambda
922
+ Error:
923
+ type: object
924
+ description: Standard error response envelope returned by integrator.io APIs.
925
+ properties:
926
+ errors:
927
+ type: array
928
+ description: List of errors that occurred while processing the request.
929
+ items:
930
+ type: object
931
+ properties:
932
+ code:
933
+ oneOf:
934
+ - type: string
935
+ - type: integer
936
+ description: |-
937
+ Machine-readable error code. Usually a string like
938
+ `invalid_ref`, `missing_required_field`, or `unauthorized`;
939
+ may be an **integer** when the error mirrors an upstream HTTP
940
+ status (e.g. `500`) — most commonly returned by connection-ping
941
+ and adaptor-proxy responses.
942
+ message:
943
+ type: string
944
+ description: Human-readable description of the error.
945
+ field:
946
+ type: string
947
+ description: |-
948
+ Optional pointer to the document field that caused the error.
949
+ Used by structural validation errors (`missing_required_field`,
950
+ `invalid_ref`) to indicate which field is at fault
951
+ (e.g. `_id`, `type`, `http.baseURI`).
952
+ source:
953
+ type: string
954
+ description: |-
955
+ Optional origin layer for the error — e.g. `application` when
956
+ the error came from the remote system the adaptor called,
957
+ `connector` when the adaptor itself rejected the request.
958
+ required:
959
+ - message
960
+ required:
961
+ - errors
962
+ Request:
963
+ type: object
964
+ description: Request body for creating or updating a stack.
965
+ x-celigo-ai-guidance:
966
+ - |-
967
+ Stacks provide execution environments for custom scripts, hooks, and wrappers
968
+ in integrator.io. Two types are supported:
969
+
970
+ - **server**: A self-hosted server stack with a system token for authentication
971
+ - **lambda**: An AWS Lambda function stack with AWS credentials
972
+ required:
973
+ - name
974
+ - type
975
+ properties:
976
+ name:
977
+ type: string
978
+ maxLength: 1024
979
+ description: Human-readable display name for the stack.
980
+ x-celigo-ai-guidance:
981
+ - Name the stack after the server or function deployment and its environment (e.g. "Production Hooks Server", "Hooks Lambda (us-east-1)"), not after one flow or use case — a stack hosts custom code shared by many scripts and flows.
982
+ examples:
983
+ - Production Server Stack
984
+ - Hooks Lambda (us-east-1)
985
+ type:
986
+ type: string
987
+ enum:
988
+ - server
989
+ - lambda
990
+ x-enumDescriptions:
991
+ server: Celigo calls a self-hosted server over HTTP to execute custom code; uses a system token for authentication
992
+ lambda: Celigo invokes an AWS Lambda function directly via the AWS SDK to execute custom code
993
+ description: Execution environment type.
994
+ examples:
995
+ - server
996
+ - lambda
997
+ framework:
998
+ type: string
999
+ enum:
1000
+ - twoDotZero
1001
+ x-enumDescriptions:
1002
+ twoDotZero: Version 2.0 of the stack framework.
1003
+ description: |-
1004
+ Framework version. Currently only `twoDotZero` is supported.
1005
+ Optional — if omitted on create, the field is absent from the
1006
+ response. If omitted on PUT, a previously set value is cleared.
1007
+ examples:
1008
+ - twoDotZero
1009
+ server:
1010
+ type: object
1011
+ description: |-
1012
+ Configuration for server-type stacks. Required when `type` is `server`.
1013
+ Omit when `type` is `lambda` — a `server` object sent on a lambda-type
1014
+ write is accepted but discarded.
1015
+ x-celigo-ai-guidance:
1016
+ - |-
1017
+ Required when `type` is "server".
1018
+ The system token is auto-generated on creation and cannot be set directly.
1019
+ required:
1020
+ - hostURI
1021
+ properties:
1022
+ hostURI:
1023
+ type: string
1024
+ maxLength: 1024
1025
+ description: Base URI of the server hosting the stack.
1026
+ x-celigo-ai-guidance:
1027
+ - Must be a valid, reachable HTTP(S) endpoint.
1028
+ examples:
1029
+ - https://my-stack-server.example.com:3000
1030
+ lambda:
1031
+ type: object
1032
+ description: Configuration for AWS Lambda-type stacks. Required when `type` is `lambda`.
1033
+ required:
1034
+ - accessKeyId
1035
+ - secretAccessKey
1036
+ - awsRegion
1037
+ - functionName
1038
+ properties:
1039
+ accessKeyId:
1040
+ type: string
1041
+ maxLength: 1024
1042
+ description: AWS access key ID for invoking the Lambda function.
1043
+ examples:
1044
+ - AKIAIOSFODNN7EXAMPLE
1045
+ secretAccessKey:
1046
+ type: string
1047
+ maxLength: 511
1048
+ description: AWS secret access key. Write-only — responses mask it as "******".
1049
+ examples:
1050
+ - wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
1051
+ awsRegion:
1052
+ type: string
1053
+ enum:
1054
+ - us-east-1
1055
+ - us-east-2
1056
+ - us-west-1
1057
+ - us-west-2
1058
+ - ap-northeast-2
1059
+ - ap-southeast-1
1060
+ - ap-southeast-2
1061
+ - ap-northeast-1
1062
+ - ap-south-1
1063
+ - eu-central-1
1064
+ - eu-west-1
1065
+ x-enumDescriptions:
1066
+ us-east-1: US East (N. Virginia).
1067
+ us-east-2: US East (Ohio).
1068
+ us-west-1: US West (N. California).
1069
+ us-west-2: US West (Oregon).
1070
+ ap-northeast-2: Asia Pacific (Seoul).
1071
+ ap-southeast-1: Asia Pacific (Singapore).
1072
+ ap-southeast-2: Asia Pacific (Sydney).
1073
+ ap-northeast-1: Asia Pacific (Tokyo).
1074
+ ap-south-1: Asia Pacific (Mumbai).
1075
+ eu-central-1: Europe (Frankfurt).
1076
+ eu-west-1: Europe (Ireland).
1077
+ description: AWS region where the Lambda function is deployed.
1078
+ examples:
1079
+ - us-east-1
1080
+ functionName:
1081
+ type: string
1082
+ maxLength: 1024
1083
+ description: Name or ARN of the AWS Lambda function.
1084
+ examples:
1085
+ - my-integration-function
1086
+ - arn:aws:lambda:us-east-1:123456789012:function:my-function
1087
+ language:
1088
+ type: string
1089
+ enum:
1090
+ - Node.js
1091
+ - C#
1092
+ - Java
1093
+ - Other
1094
+ x-enumDescriptions:
1095
+ Node.js: Lambda function written in Node.js (JavaScript/TypeScript).
1096
+ C#: Lambda function written in C# (.NET).
1097
+ Java: Lambda function written in Java.
1098
+ Other: Lambda function written in another programming language.
1099
+ default: Node.js
1100
+ description: Programming language of the Lambda function.
1101
+ examples:
1102
+ - Node.js
1103
+ if:
1104
+ properties:
1105
+ type:
1106
+ const: server
1107
+ then:
1108
+ required:
1109
+ - server
1110
+ else:
1111
+ required:
1112
+ - lambda
1113
+ SystemTokenResponse:
1114
+ type: object
1115
+ description: Response containing the actual system token value for a server stack.
1116
+ x-celigo-ai-guidance:
1117
+ - |-
1118
+ This endpoint returns the unmasked token,
1119
+ unlike the standard stack response which always masks it as "******".
1120
+ properties:
1121
+ systemToken:
1122
+ type: string
1123
+ description: The actual system token value for authenticating with the server stack.
1124
+ examples:
1125
+ - a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
1126
+ DependencyEntry:
1127
+ type: object
1128
+ description: A single resource that depends on the queried resource.
1129
+ properties:
1130
+ id:
1131
+ type: string
1132
+ description: Unique identifier of the dependent resource.
1133
+ examples:
1134
+ - 61f92026dd053843b5d72350
1135
+ name:
1136
+ type: string
1137
+ description: Display name of the dependent resource.
1138
+ examples:
1139
+ - Import Orders to NetSuite
1140
+ paths:
1141
+ type: array
1142
+ description: |-
1143
+ Dot-notation paths within the dependent resource that reference
1144
+ the target resource. `[*]` denotes array elements.
1145
+ items:
1146
+ type: string
1147
+ examples:
1148
+ - - hooks.preSavePage._scriptId
1149
+ accessLevel:
1150
+ type: string
1151
+ description: The caller's access level on the dependent resource.
1152
+ examples:
1153
+ - manage
1154
+ dependencyIds:
1155
+ type: object
1156
+ description: |-
1157
+ Map of resource types to arrays of IDs that this dependent
1158
+ resource references on the target. Keys are singular or plural
1159
+ resource type strings; values are arrays of ID strings.
1160
+ additionalProperties:
1161
+ type: array
1162
+ items:
1163
+ type: string
1164
+ example:
1165
+ script:
1166
+ - 64ff4b21612a134bd2f45531
1167
+ required:
1168
+ - id
1169
+ - name
1170
+ - paths
1171
+ - accessLevel
1172
+ - dependencyIds
1173
+ DependencyResponse:
1174
+ type: object
1175
+ description: |
1176
+ Map of dependent-resource types to arrays of dependency entries.
1177
+ Keys are plural resource type strings (e.g. `flows`, `imports`,
1178
+ `connections`). An empty object `{}` means no dependents.
1179
+ additionalProperties:
1180
+ type: array
1181
+ items:
1182
+ $ref: '#/components/schemas/DependencyEntry'
1183
+ example:
1184
+ exports:
1185
+ - id: 64ff4b21612a134bd2f45534
1186
+ name: Bank FTP Export
1187
+ paths:
1188
+ - hooks.preSavePage._scriptId
1189
+ accessLevel: manage
1190
+ dependencyIds:
1191
+ script:
1192
+ - 64ff4b21612a134bd2f45531
1193
+ flows:
1194
+ - id: 64ff4b22612a134bd2f45538
1195
+ name: CAMT-053 to Celigo CAM Format
1196
+ paths:
1197
+ - pageGenerators[*]._exportId
1198
+ accessLevel: manage
1199
+ dependencyIds:
1200
+ export:
1201
+ - 64ff4b21612a134bd2f45534
1202
+ responses:
1203
+ 401-unauthorized:
1204
+ description: |-
1205
+ Unauthorized. The request lacks a valid bearer token, or the provided token
1206
+ failed to authenticate.
1207
+
1208
+ Note: the 401 response is produced by the auth middleware **before** the
1209
+ request reaches the endpoint handler, so it does **not** follow the
1210
+ standard `{errors: [...]}` envelope. Instead the body is a bare
1211
+ `{message: string}` object with no `code`, no `errors` array. Callers
1212
+ handling 401s should key off the HTTP status and the `message` string,
1213
+ not try to destructure an `errors[]`.
1214
+ content:
1215
+ application/json:
1216
+ schema:
1217
+ type: object
1218
+ properties:
1219
+ message:
1220
+ type: string
1221
+ description: |-
1222
+ Human-readable description of the auth failure. Known values:
1223
+ - `"Unauthorized"` — no `Authorization` header on the request.
1224
+ - `"Bearer Authentication Failed"` — header present but token
1225
+ is invalid, revoked, or expired.
1226
+ required:
1227
+ - message
1228
+ examples:
1229
+ missing_token:
1230
+ summary: No Authorization header sent
1231
+ value:
1232
+ message: Unauthorized
1233
+ invalid_token:
1234
+ summary: Bearer token invalid or revoked
1235
+ value:
1236
+ message: Bearer Authentication Failed
1237
+ 422-unprocessable-entity:
1238
+ description: |
1239
+ Unprocessable entity. The request was well-formed but was unable to be followed due to semantic errors.
1240
+ content:
1241
+ application/json:
1242
+ schema:
1243
+ $ref: '#/components/schemas/Error'
1244
+ examples:
1245
+ default:
1246
+ value:
1247
+ errors:
1248
+ - code: unprocessable_entity
1249
+ message: The request could not be processed due to a semantic error.
1250
+ 400-bad-request:
1251
+ description: |
1252
+ Bad request. The server could not understand the request because of malformed syntax or invalid parameters.
1253
+ content:
1254
+ application/json:
1255
+ schema:
1256
+ $ref: '#/components/schemas/Error'
1257
+ examples:
1258
+ default:
1259
+ value:
1260
+ errors:
1261
+ - code: invalid_request
1262
+ message: The request body failed validation.
1263
+ 404-not-found:
1264
+ description: |
1265
+ Not found. The requested resource does not exist or is not visible to the caller.
1266
+ content:
1267
+ application/json:
1268
+ schema:
1269
+ $ref: '#/components/schemas/Error'
1270
+ examples:
1271
+ default:
1272
+ value:
1273
+ errors:
1274
+ - code: not_found
1275
+ message: The requested resource was not found.
1276
+ 422-dependency-conflict:
1277
+ description: |-
1278
+ The resource has dependents that must be deleted first. Each entry
1279
+ in the `errors` array names one blocking resource.
1280
+ content:
1281
+ application/json:
1282
+ schema:
1283
+ $ref: '#/components/schemas/Error'
1284
+ examples:
1285
+ default:
1286
+ value:
1287
+ errors:
1288
+ - code: dependencies_not_deleted
1289
+ message: export 6902d88c10b42b2eaac9b2a1 must be deleted before you can delete connection 6398ddf316be761fb16a6523
1290
+ x-internal: false
1291
+ x-enable-proxy: true