@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
@@ -0,0 +1,1406 @@
1
+ openapi: 3.2.0
2
+ info:
3
+ version: 1.0.0
4
+ title: Connectors
5
+ description: API for managing Celigo Integration App connectors and their licenses. Partner accounts only.
6
+ servers:
7
+ - url: https://api.integrator.io
8
+ description: Production (US / default region)
9
+ - url: https://api.eu.integrator.io
10
+ description: Production (EU region)
11
+ - url: https://api.au.integrator.io
12
+ description: Production (AU region)
13
+ - url: https://api.ca.integrator.io
14
+ description: Production (CA region)
15
+ security:
16
+ - bearerAuth: []
17
+ tags:
18
+ - name: Connectors
19
+ description: |-
20
+ API for managing Integration App connectors and their licenses.
21
+
22
+ **These endpoints are only available to Celigo Partners.**
23
+
24
+ Connectors are packaged integration applications (e.g. "Shopify –
25
+ NetSuite Connector") that Partners publish to the Celigo marketplace.
26
+ Each connector has an install base, license management, and update
27
+ push capabilities.
28
+
29
+ ## Connector schema
30
+
31
+ {% openapi-schemas spec="connector" schemas="Connector" grouped="true" %}
32
+ paths:
33
+ /v1/connectors:
34
+ get:
35
+ x-internal: false
36
+ operationId: listConnectors
37
+ tags:
38
+ - Connectors
39
+ summary: List connectors
40
+ description: |-
41
+ Returns all connectors owned by the authenticated Partner account.
42
+
43
+ **Partner-only endpoint.**
44
+ responses:
45
+ '200':
46
+ description: Array of connector resources.
47
+ content:
48
+ application/json:
49
+ schema:
50
+ type: array
51
+ items:
52
+ $ref: '#/components/schemas/Connector'
53
+ examples:
54
+ one_connector:
55
+ summary: Partner account with one published connector
56
+ value:
57
+ - _id: 54fa0b38a7044f9252000036
58
+ _userId: 54f66374661734964a00011e
59
+ name: Shopify - NetSuite
60
+ handle: sc4n
61
+ description: Sync orders, customers, fulfillments, and inventory between Shopify and NetSuite.
62
+ applications:
63
+ - netsuite
64
+ - 65bb6a09de4fef278556c5fe
65
+ published: true
66
+ trialEnabled: false
67
+ numInstalls: 3672
68
+ createdAt: '2015-03-06T20:16:56.000Z'
69
+ lastModified: '2026-04-22T07:14:42.124Z'
70
+ '204':
71
+ description: No connectors exist.
72
+ '401':
73
+ $ref: '#/components/responses/401-unauthorized'
74
+ post:
75
+ x-internal: false
76
+ operationId: createConnector
77
+ tags:
78
+ - Connectors
79
+ summary: Create a connector
80
+ description: |-
81
+ Creates a new connector (Integration App).
82
+
83
+ **Partner-only endpoint.**
84
+ requestBody:
85
+ required: true
86
+ content:
87
+ application/json:
88
+ schema:
89
+ $ref: '#/components/schemas/Request'
90
+ examples:
91
+ minimal:
92
+ summary: Minimal create (Partner account)
93
+ value:
94
+ name: Shopify - NetSuite
95
+ description: Sync orders, customers, fulfillments, and inventory between Shopify and NetSuite.
96
+ applications:
97
+ - netsuite
98
+ - 65bb6a09de4fef278556c5fe
99
+ responses:
100
+ '201':
101
+ description: Connector created.
102
+ content:
103
+ application/json:
104
+ schema:
105
+ $ref: '#/components/schemas/Connector'
106
+ examples:
107
+ created:
108
+ summary: Newly created connector — unpublished, zero installs
109
+ value:
110
+ _id: 54fa0b38a7044f9252000036
111
+ _userId: 54f66374661734964a00011e
112
+ name: Shopify - NetSuite
113
+ handle: sc4n
114
+ description: Sync orders, customers, fulfillments, and inventory between Shopify and NetSuite.
115
+ applications:
116
+ - netsuite
117
+ - 65bb6a09de4fef278556c5fe
118
+ numInstalls: 0
119
+ createdAt: '2015-03-06T20:16:56.000Z'
120
+ lastModified: '2015-03-06T20:16:56.000Z'
121
+ '401':
122
+ $ref: '#/components/responses/401-unauthorized'
123
+ '422':
124
+ $ref: '#/components/responses/422-unprocessable-entity'
125
+ /v1/connectors/{_id}:
126
+ get:
127
+ x-internal: false
128
+ operationId: getConnectorById
129
+ tags:
130
+ - Connectors
131
+ summary: Get a connector
132
+ description: |-
133
+ Returns a single connector by ID.
134
+
135
+ **Partner-only endpoint.**
136
+ parameters:
137
+ - name: _id
138
+ in: path
139
+ required: true
140
+ schema:
141
+ type: string
142
+ description: The connector ID.
143
+ responses:
144
+ '200':
145
+ description: The connector resource.
146
+ content:
147
+ application/json:
148
+ schema:
149
+ $ref: '#/components/schemas/Connector'
150
+ examples:
151
+ published:
152
+ summary: Published marketplace connector (Partner-account view)
153
+ value:
154
+ _id: 54fa0b38a7044f9252000036
155
+ _userId: 54f66374661734964a00011e
156
+ name: Shopify - NetSuite
157
+ handle: sc4n
158
+ description: Sync orders, customers, fulfillments, and inventory between Shopify and NetSuite.
159
+ applications:
160
+ - netsuite
161
+ - 65bb6a09de4fef278556c5fe
162
+ published: true
163
+ trialEnabled: false
164
+ numInstalls: 3672
165
+ createdAt: '2015-03-06T20:16:56.000Z'
166
+ lastModified: '2026-04-22T07:14:42.124Z'
167
+ '400':
168
+ $ref: '#/components/responses/400-bad-request'
169
+ '401':
170
+ $ref: '#/components/responses/401-unauthorized'
171
+ '404':
172
+ $ref: '#/components/responses/404-not-found'
173
+ put:
174
+ x-internal: false
175
+ operationId: updateConnector
176
+ tags:
177
+ - Connectors
178
+ summary: Update a connector
179
+ description: |-
180
+ Full-replaces a connector resource.
181
+
182
+ **Partner-only endpoint.**
183
+ parameters:
184
+ - name: _id
185
+ in: path
186
+ required: true
187
+ schema:
188
+ type: string
189
+ description: The connector ID.
190
+ requestBody:
191
+ required: true
192
+ content:
193
+ application/json:
194
+ schema:
195
+ $ref: '#/components/schemas/Request'
196
+ examples:
197
+ update_listing:
198
+ summary: Update the marketplace listing (Partner account)
199
+ value:
200
+ name: Shopify - NetSuite
201
+ description: Sync orders, customers, fulfillments, and inventory between Shopify and NetSuite.
202
+ published: true
203
+ trialEnabled: false
204
+ applications:
205
+ - netsuite
206
+ - 65bb6a09de4fef278556c5fe
207
+ responses:
208
+ '200':
209
+ description: Updated connector.
210
+ content:
211
+ application/json:
212
+ schema:
213
+ $ref: '#/components/schemas/Connector'
214
+ examples:
215
+ updated:
216
+ summary: Updated connector (Partner-account view)
217
+ value:
218
+ _id: 54fa0b38a7044f9252000036
219
+ _userId: 54f66374661734964a00011e
220
+ name: Shopify - NetSuite
221
+ handle: sc4n
222
+ description: Sync orders, customers, fulfillments, and inventory between Shopify and NetSuite.
223
+ applications:
224
+ - netsuite
225
+ - 65bb6a09de4fef278556c5fe
226
+ published: true
227
+ trialEnabled: false
228
+ numInstalls: 3672
229
+ createdAt: '2015-03-06T20:16:56.000Z'
230
+ lastModified: '2026-04-22T07:14:42.124Z'
231
+ '400':
232
+ $ref: '#/components/responses/400-bad-request'
233
+ '401':
234
+ $ref: '#/components/responses/401-unauthorized'
235
+ '404':
236
+ $ref: '#/components/responses/404-not-found'
237
+ '422':
238
+ $ref: '#/components/responses/422-unprocessable-entity'
239
+ delete:
240
+ x-internal: false
241
+ operationId: deleteConnector
242
+ tags:
243
+ - Connectors
244
+ summary: Delete a connector
245
+ description: |-
246
+ Deletes a connector. This does not affect existing installations.
247
+
248
+ **Partner-only endpoint.**
249
+ parameters:
250
+ - name: _id
251
+ in: path
252
+ required: true
253
+ schema:
254
+ type: string
255
+ description: The connector ID.
256
+ responses:
257
+ '204':
258
+ description: Connector deleted.
259
+ '400':
260
+ $ref: '#/components/responses/400-bad-request'
261
+ '401':
262
+ $ref: '#/components/responses/401-unauthorized'
263
+ '404':
264
+ $ref: '#/components/responses/404-not-found'
265
+ /v1/connectors/{_id}/installBase:
266
+ get:
267
+ x-internal: false
268
+ operationId: getConnectorInstallBase
269
+ tags:
270
+ - Connectors
271
+ summary: Get the install base for a connector
272
+ description: |-
273
+ Returns the list of accounts that have installed this connector.
274
+
275
+ **Partner-only endpoint.**
276
+ parameters:
277
+ - name: _id
278
+ in: path
279
+ required: true
280
+ schema:
281
+ type: string
282
+ description: The connector ID.
283
+ responses:
284
+ '200':
285
+ description: Install base data.
286
+ content:
287
+ application/json:
288
+ schema:
289
+ type: array
290
+ items:
291
+ type: object
292
+ examples:
293
+ one_install:
294
+ summary: One account has installed the connector (Partner account)
295
+ value:
296
+ - _integrationId: 5f7e39a76bb8d813180a9549
297
+ user:
298
+ _id: 624774a6a7574d3ed9f9a5cc
299
+ email: admin@example.com
300
+ name: Account Admin
301
+ '204':
302
+ description: No installations exist for this connector.
303
+ '400':
304
+ $ref: '#/components/responses/400-bad-request'
305
+ '401':
306
+ $ref: '#/components/responses/401-unauthorized'
307
+ '404':
308
+ $ref: '#/components/responses/404-not-found'
309
+ /v1/connectors/{_id}/update:
310
+ put:
311
+ x-internal: false
312
+ operationId: pushConnectorUpdate
313
+ tags:
314
+ - Connectors
315
+ summary: Push update to connector installations
316
+ description: |-
317
+ Pushes an update to all (or specified) installations of this connector.
318
+ Triggers the connector's `updateFunction` on each target integration.
319
+
320
+ **Partner-only endpoint.**
321
+ parameters:
322
+ - name: _id
323
+ in: path
324
+ required: true
325
+ schema:
326
+ type: string
327
+ description: The connector ID.
328
+ requestBody:
329
+ content:
330
+ application/json:
331
+ schema:
332
+ type: object
333
+ properties:
334
+ _integrationIds:
335
+ type: array
336
+ items:
337
+ type: string
338
+ description: |-
339
+ Optional list of specific integration IDs to update.
340
+ Omit to push to all installations.
341
+ examples:
342
+ one_installation:
343
+ summary: Push the update to a single installation (Partner account)
344
+ value:
345
+ _integrationIds:
346
+ - 5f7e39a76bb8d813180a9549
347
+ responses:
348
+ '200':
349
+ description: Update pushed.
350
+ '400':
351
+ $ref: '#/components/responses/400-bad-request'
352
+ '401':
353
+ $ref: '#/components/responses/401-unauthorized'
354
+ '404':
355
+ $ref: '#/components/responses/404-not-found'
356
+ /v1/connectors/{_id}/licenses:
357
+ get:
358
+ x-internal: false
359
+ operationId: listConnectorLicenses
360
+ tags:
361
+ - Connectors
362
+ summary: List licenses for a connector
363
+ description: |-
364
+ Returns all licenses issued for this connector.
365
+
366
+ **Partner-only endpoint.**
367
+ parameters:
368
+ - name: _id
369
+ in: path
370
+ required: true
371
+ schema:
372
+ type: string
373
+ description: The connector ID.
374
+ responses:
375
+ '200':
376
+ description: Array of license records.
377
+ content:
378
+ application/json:
379
+ schema:
380
+ type: array
381
+ items:
382
+ $ref: '#/components/schemas/License'
383
+ examples:
384
+ one_license:
385
+ summary: One issued license (Partner account)
386
+ value:
387
+ - _id: 624cb0356309dc3a543733a4
388
+ created: '2022-04-05T21:10:13.226Z'
389
+ expires: '2027-04-05T00:00:00.000Z'
390
+ opts:
391
+ connectorEdition: premium
392
+ addonLicenses:
393
+ - type: store
394
+ licenses:
395
+ - addOnEdition: premium
396
+ user:
397
+ _id: 624774a6a7574d3ed9f9a5cc
398
+ email: admin@example.com
399
+ name: Account Admin
400
+ _integrationId: 5f7e39a76bb8d813180a9549
401
+ '204':
402
+ description: No licenses exist for this connector.
403
+ '400':
404
+ $ref: '#/components/responses/400-bad-request'
405
+ '401':
406
+ $ref: '#/components/responses/401-unauthorized'
407
+ '404':
408
+ $ref: '#/components/responses/404-not-found'
409
+ post:
410
+ x-internal: false
411
+ operationId: createConnectorLicense
412
+ tags:
413
+ - Connectors
414
+ summary: Create a license for a connector
415
+ description: |-
416
+ Creates a new license for a connector. Supply the target user's email
417
+ address in the request body — the backend resolves it to a user
418
+ account. If the email is not a registered integrator.io user, an
419
+ `invalid_user` error is returned.
420
+
421
+ **Partner-only endpoint.**
422
+ parameters:
423
+ - name: _id
424
+ in: path
425
+ required: true
426
+ schema:
427
+ type: string
428
+ description: The connector ID.
429
+ requestBody:
430
+ required: true
431
+ content:
432
+ application/json:
433
+ schema:
434
+ $ref: '#/components/schemas/LicenseCreateRequest'
435
+ examples:
436
+ issue_license:
437
+ summary: Issue a premium license to a user (Partner account)
438
+ value:
439
+ email: admin@example.com
440
+ expires: '2027-04-05T00:00:00.000Z'
441
+ opts:
442
+ connectorEdition: premium
443
+ responses:
444
+ '201':
445
+ description: License created.
446
+ content:
447
+ application/json:
448
+ schema:
449
+ $ref: '#/components/schemas/License'
450
+ examples:
451
+ created:
452
+ summary: License issued — user has not installed yet (Partner account)
453
+ value:
454
+ _id: 624cb0356309dc3a543733a4
455
+ created: '2022-04-05T21:10:13.226Z'
456
+ expires: '2027-04-05T00:00:00.000Z'
457
+ opts:
458
+ connectorEdition: premium
459
+ user:
460
+ _id: 624774a6a7574d3ed9f9a5cc
461
+ email: admin@example.com
462
+ name: Account Admin
463
+ '401':
464
+ $ref: '#/components/responses/401-unauthorized'
465
+ '404':
466
+ $ref: '#/components/responses/404-not-found'
467
+ '422':
468
+ $ref: '#/components/responses/422-unprocessable-entity'
469
+ /v1/connectors/{_id}/licenses/{_licenseId}:
470
+ get:
471
+ x-internal: false
472
+ operationId: getConnectorLicenseById
473
+ tags:
474
+ - Connectors
475
+ summary: Get a license
476
+ description: |-
477
+ Returns a specific license for a connector.
478
+
479
+ **Partner-only endpoint.**
480
+ parameters:
481
+ - name: _id
482
+ in: path
483
+ required: true
484
+ schema:
485
+ type: string
486
+ description: The connector ID.
487
+ - name: _licenseId
488
+ in: path
489
+ required: true
490
+ schema:
491
+ type: string
492
+ description: The license ID.
493
+ responses:
494
+ '200':
495
+ description: The license record.
496
+ content:
497
+ application/json:
498
+ schema:
499
+ $ref: '#/components/schemas/License'
500
+ examples:
501
+ premium_with_addon:
502
+ summary: Premium license with a store add-on (Partner account)
503
+ value:
504
+ _id: 624cb0356309dc3a543733a4
505
+ created: '2022-04-05T21:10:13.226Z'
506
+ expires: '2027-04-05T00:00:00.000Z'
507
+ opts:
508
+ connectorEdition: premium
509
+ addonLicenses:
510
+ - type: store
511
+ licenses:
512
+ - addOnEdition: premium
513
+ user:
514
+ _id: 624774a6a7574d3ed9f9a5cc
515
+ email: admin@example.com
516
+ name: Account Admin
517
+ _integrationId: 5f7e39a76bb8d813180a9549
518
+ '400':
519
+ $ref: '#/components/responses/400-bad-request'
520
+ '401':
521
+ $ref: '#/components/responses/401-unauthorized'
522
+ '404':
523
+ $ref: '#/components/responses/404-not-found'
524
+ put:
525
+ x-internal: false
526
+ operationId: updateConnectorLicense
527
+ tags:
528
+ - Connectors
529
+ summary: Update a license
530
+ description: |-
531
+ Updates an existing license for a connector (e.g. change expiry or
532
+ edition).
533
+
534
+ **Partner-only endpoint.**
535
+ parameters:
536
+ - name: _id
537
+ in: path
538
+ required: true
539
+ schema:
540
+ type: string
541
+ description: The connector ID.
542
+ - name: _licenseId
543
+ in: path
544
+ required: true
545
+ schema:
546
+ type: string
547
+ description: The license ID.
548
+ requestBody:
549
+ required: true
550
+ content:
551
+ application/json:
552
+ schema:
553
+ $ref: '#/components/schemas/License'
554
+ examples:
555
+ extend_expiry:
556
+ summary: Extend expiry and keep the store add-on (Partner account)
557
+ value:
558
+ expires: '2028-04-05T00:00:00.000Z'
559
+ opts:
560
+ connectorEdition: premium
561
+ addonLicenses:
562
+ - type: store
563
+ licenses:
564
+ - addOnEdition: premium
565
+ responses:
566
+ '200':
567
+ description: Updated license.
568
+ content:
569
+ application/json:
570
+ schema:
571
+ $ref: '#/components/schemas/License'
572
+ examples:
573
+ updated:
574
+ summary: License after the expiry extension (Partner account)
575
+ value:
576
+ _id: 624cb0356309dc3a543733a4
577
+ created: '2022-04-05T21:10:13.226Z'
578
+ expires: '2028-04-05T00:00:00.000Z'
579
+ opts:
580
+ connectorEdition: premium
581
+ addonLicenses:
582
+ - type: store
583
+ licenses:
584
+ - addOnEdition: premium
585
+ user:
586
+ _id: 624774a6a7574d3ed9f9a5cc
587
+ email: admin@example.com
588
+ name: Account Admin
589
+ _integrationId: 5f7e39a76bb8d813180a9549
590
+ '400':
591
+ $ref: '#/components/responses/400-bad-request'
592
+ '401':
593
+ $ref: '#/components/responses/401-unauthorized'
594
+ '404':
595
+ $ref: '#/components/responses/404-not-found'
596
+ '422':
597
+ $ref: '#/components/responses/422-unprocessable-entity'
598
+ delete:
599
+ x-internal: false
600
+ operationId: deleteConnectorLicense
601
+ tags:
602
+ - Connectors
603
+ summary: Delete a license
604
+ description: |-
605
+ Deletes a license for a connector.
606
+
607
+ **Partner-only endpoint.**
608
+ parameters:
609
+ - name: _id
610
+ in: path
611
+ required: true
612
+ schema:
613
+ type: string
614
+ description: The connector ID.
615
+ - name: _licenseId
616
+ in: path
617
+ required: true
618
+ schema:
619
+ type: string
620
+ description: The license ID.
621
+ responses:
622
+ '204':
623
+ description: License deleted.
624
+ '400':
625
+ $ref: '#/components/responses/400-bad-request'
626
+ '401':
627
+ $ref: '#/components/responses/401-unauthorized'
628
+ '404':
629
+ $ref: '#/components/responses/404-not-found'
630
+ /v1/connectors/{_id}/install:
631
+ post:
632
+ x-internal: false
633
+ operationId: installConnector
634
+ tags:
635
+ - Connectors
636
+ summary: Install a connector (Integration App)
637
+ description: |-
638
+ Triggers the install flow for a connector (Integration App). The
639
+ connector must be associated with an integration that has the install
640
+ function configured. Templates are installed via
641
+ `POST /v1/integrations/template/{_id}` instead.
642
+ parameters:
643
+ - name: _id
644
+ in: path
645
+ required: true
646
+ description: The connector ID.
647
+ schema:
648
+ type: string
649
+ format: objectId
650
+ requestBody:
651
+ content:
652
+ application/json:
653
+ schema:
654
+ type: object
655
+ description: Optional install configuration.
656
+ additionalProperties: true
657
+ examples:
658
+ default_install:
659
+ summary: Default install — no configuration overrides
660
+ value: {}
661
+ responses:
662
+ '200':
663
+ description: Connector install initiated.
664
+ content:
665
+ application/json:
666
+ schema:
667
+ type: object
668
+ description: Install response.
669
+ additionalProperties: true
670
+ examples:
671
+ initiated:
672
+ summary: Install initiated — integration created from the connector
673
+ value:
674
+ _integrationId: 5f7e39a76bb8d813180a9549
675
+ '401':
676
+ $ref: '#/components/responses/401-unauthorized'
677
+ '404':
678
+ description: Connector not found.
679
+ content:
680
+ application/json:
681
+ schema:
682
+ $ref: '#/components/schemas/Error'
683
+ examples:
684
+ invalidRef:
685
+ value:
686
+ errors:
687
+ - code: invalid_ref
688
+ message: Resource not found.
689
+ '422':
690
+ description: |-
691
+ Connector is not associated with an integration that supports
692
+ the install function.
693
+ content:
694
+ application/json:
695
+ schema:
696
+ $ref: '#/components/schemas/Error'
697
+ examples:
698
+ invalidIntegrationApp:
699
+ value:
700
+ errors:
701
+ - code: invalid_integration_app
702
+ message: Connector is not associated with an integration.
703
+ /v1/connectors/{_id}/preview:
704
+ get:
705
+ x-internal: false
706
+ operationId: previewConnectorInstall
707
+ tags:
708
+ - Connectors
709
+ summary: Preview a connector install
710
+ description: |-
711
+ Returns a preview of what installing this connector would produce.
712
+ The connector must be associated with an integration that has the
713
+ install function configured.
714
+ parameters:
715
+ - name: _id
716
+ in: path
717
+ required: true
718
+ description: The connector ID.
719
+ schema:
720
+ type: string
721
+ format: objectId
722
+ responses:
723
+ '200':
724
+ description: Connector install preview.
725
+ content:
726
+ application/json:
727
+ schema:
728
+ type: object
729
+ description: Preview envelope with resource docs.
730
+ additionalProperties: true
731
+ examples:
732
+ preview:
733
+ summary: Resources the install would create
734
+ value:
735
+ objects:
736
+ - model: Integration
737
+ doc:
738
+ _id: 6405b9d73496e05ff253d587
739
+ name: Shopify - NetSuite
740
+ - model: Connection
741
+ doc:
742
+ _id: 61f92026dd053843b5d72350
743
+ type: netsuite
744
+ name: NetSuite Connection
745
+ stackRequired: false
746
+ '401':
747
+ $ref: '#/components/responses/401-unauthorized'
748
+ '404':
749
+ description: Connector not found.
750
+ content:
751
+ application/json:
752
+ schema:
753
+ $ref: '#/components/schemas/Error'
754
+ examples:
755
+ invalidRef:
756
+ value:
757
+ errors:
758
+ - code: invalid_ref
759
+ message: Resource not found.
760
+ '422':
761
+ description: |-
762
+ Connector is not associated with an integration that supports
763
+ the install function.
764
+ content:
765
+ application/json:
766
+ schema:
767
+ $ref: '#/components/schemas/Error'
768
+ examples:
769
+ invalidIntegrationApp:
770
+ value:
771
+ errors:
772
+ - code: invalid_integration_app
773
+ message: Connector is not associated with an integration.
774
+ components:
775
+ securitySchemes:
776
+ bearerAuth:
777
+ type: http
778
+ scheme: bearer
779
+ schemas:
780
+ EditionResourceList:
781
+ type: object
782
+ description: Resource ids bundled into a connector edition.
783
+ properties:
784
+ _flowIds:
785
+ type: array
786
+ description: Flows included in the edition.
787
+ items:
788
+ type: string
789
+ format: objectId
790
+ x-celigo-refModel: flows
791
+ examples:
792
+ - 5f7e39a76bb8d813180a9549
793
+ _importIds:
794
+ type: array
795
+ description: Imports included in the edition.
796
+ items:
797
+ type: string
798
+ format: objectId
799
+ x-celigo-refModel: imports
800
+ examples:
801
+ - 5f7e3a118f3c4e2b9d1c7a02
802
+ _exportIds:
803
+ type: array
804
+ description: Exports included in the edition.
805
+ items:
806
+ type: string
807
+ format: objectId
808
+ x-celigo-refModel: exports
809
+ examples:
810
+ - 5f7e3a4d2c1b0a9e8d7c6b50
811
+ _connectionIds:
812
+ type: array
813
+ description: Connections included in the edition.
814
+ items:
815
+ type: string
816
+ format: objectId
817
+ x-celigo-refModel: connections
818
+ examples:
819
+ - 5d2d7c1f8a3b4e6f9c0a1b2c
820
+ _asyncHelperIds:
821
+ type: array
822
+ description: Async helpers included in the edition.
823
+ items:
824
+ type: string
825
+ format: objectId
826
+ x-celigo-refModel: asynchelpers
827
+ examples:
828
+ - 5e9a1b2c3d4f5a6b7c8d9e0f
829
+ _fileDefinitionIds:
830
+ type: array
831
+ description: File definitions included in the edition.
832
+ items:
833
+ type: string
834
+ format: objectId
835
+ x-celigo-refModel: filedefinitions
836
+ examples:
837
+ - 5f0a1b2c3d4e5f6a7b8c9d0e
838
+ ConnectorBase:
839
+ type: object
840
+ description: Writable connector fields shared by the request and response schemas.
841
+ properties:
842
+ name:
843
+ type: string
844
+ description: Display name for the connector, shown on its marketplace listing.
845
+ examples:
846
+ - Shopify - NetSuite
847
+ description:
848
+ type: string
849
+ description: Summary of what the connector does, shown on its marketplace listing.
850
+ examples:
851
+ - Sync orders, customers, fulfillments, and inventory between Shopify and NetSuite.
852
+ imageURL:
853
+ type: string
854
+ description: URL of the connector's logo image displayed in the marketplace.
855
+ examples:
856
+ - https://integrator.io/images/connectors/shopify-netsuite.png
857
+ websiteURL:
858
+ type: string
859
+ description: URL of the publisher's product or documentation page for the connector.
860
+ examples:
861
+ - https://www.celigo.com/integration-apps/shopify-netsuite/
862
+ contactEmail:
863
+ type: string
864
+ format: email
865
+ description: Contact email for the connector's publisher.
866
+ examples:
867
+ - support@example.com
868
+ published:
869
+ type: boolean
870
+ description: When true, the connector is visible in the Celigo marketplace.
871
+ managed:
872
+ type: boolean
873
+ description: When true, the connector is managed by Celigo.
874
+ _integrationId:
875
+ type: string
876
+ format: objectId
877
+ x-celigo-refModel: integrations
878
+ description: Master integration the connector packages and installs.
879
+ examples:
880
+ - 6405b9d73496e05ff253d587
881
+ _stackId:
882
+ type: string
883
+ format: objectId
884
+ x-celigo-refModel: stacks
885
+ description: Stack that hosts the connector's installer and lifecycle functions.
886
+ examples:
887
+ - 61f92026dd053843b5d72350
888
+ installerFunction:
889
+ type: string
890
+ description: Function invoked from the connector's stack when the connector is installed.
891
+ examples:
892
+ - installConnector
893
+ updateFunction:
894
+ type: string
895
+ description: Function invoked to apply connector updates to existing installations.
896
+ examples:
897
+ - updateConnector
898
+ preUninstallFunction:
899
+ type: string
900
+ description: Function invoked before an installation is uninstalled.
901
+ examples:
902
+ - preUninstallConnector
903
+ uninstallerFunction:
904
+ type: string
905
+ description: Function invoked when an installation is uninstalled.
906
+ examples:
907
+ - uninstallConnector
908
+ externalInstallerFunction:
909
+ type: string
910
+ description: Function invoked for externally triggered installs (for example, `installConnectorFromExternalApp`).
911
+ examples:
912
+ - installConnectorFromExternalApp
913
+ _sharedImportIds:
914
+ type: array
915
+ description: Imports shared with installations of this connector.
916
+ items:
917
+ type: string
918
+ format: objectId
919
+ x-celigo-refModel: imports
920
+ examples:
921
+ - 5f7e39a76bb8d813180a9549
922
+ _sharedExportIds:
923
+ type: array
924
+ description: Exports shared with installations of this connector.
925
+ items:
926
+ type: string
927
+ format: objectId
928
+ x-celigo-refModel: exports
929
+ examples:
930
+ - 5f7e3a118f3c4e2b9d1c7a02
931
+ _iClientIdMap:
932
+ type: array
933
+ description: Maps connection types to the iClient credentials connector installations use.
934
+ items:
935
+ type: object
936
+ properties:
937
+ _iClientIds:
938
+ type: array
939
+ description: iClients available for this map entry.
940
+ items:
941
+ type: string
942
+ format: objectId
943
+ x-celigo-refModel: iclients
944
+ examples:
945
+ - 5d2d7c1f8a3b4e6f9c0a1b2c
946
+ connection:
947
+ type: object
948
+ description: Connection criteria this entry applies to.
949
+ properties:
950
+ type:
951
+ type: string
952
+ description: Connection type this entry applies to (e.g. `netsuite`, `http`, `rest`, `salesforce`).
953
+ examples:
954
+ - netsuite
955
+ assistant:
956
+ type: string
957
+ description: Assistant (application-specific flavor) this entry applies to, used with generic connection types like `http` or `rest` to scope the entry to one application.
958
+ examples:
959
+ - shopify
960
+ applications:
961
+ type: array
962
+ items:
963
+ type: string
964
+ examples:
965
+ - netsuite
966
+ description: Application slugs (e.g. `netsuite`, `shopify`).
967
+ trialEnabled:
968
+ type: boolean
969
+ description: |-
970
+ When true, trial licenses are enabled for this connector. Requires
971
+ `trialPeriod` and `_trialLicenseId` to be set.
972
+ trialPeriod:
973
+ type: integer
974
+ description: Trial period in days. Required when `trialEnabled` is `true`.
975
+ examples:
976
+ - 30
977
+ _trialLicenseId:
978
+ type: string
979
+ format: objectId
980
+ description: |-
981
+ License template ID for trials. Required when `trialEnabled`
982
+ is `true`.
983
+ examples:
984
+ - 624cb0356309dc3a543733a4
985
+ oAuthServerFlow:
986
+ type: object
987
+ description: OAuth server-flow configuration used by connector installations.
988
+ properties:
989
+ _iClientId:
990
+ type: string
991
+ format: objectId
992
+ x-celigo-refModel: iclients
993
+ description: iClient used for the OAuth server flow.
994
+ examples:
995
+ - 5d2d7c1f8a3b4e6f9c0a1b2c
996
+ framework:
997
+ type: string
998
+ enum:
999
+ - twoDotZero
1000
+ description: Marks a connector built on the Integration App Framework 2.0. Set to `twoDotZero` for 2.0 connectors and omit for classic connectors; when set, `twoDotZero._integrationId` is required and must match `_integrationId`.
1001
+ x-enumDescriptions:
1002
+ twoDotZero: Connector built on the Integration App Framework 2.0, packaged from a master integration.
1003
+ examples:
1004
+ - twoDotZero
1005
+ twoDotZero:
1006
+ type: object
1007
+ description: Integration App Framework 2.0 configuration. The server initializes this object (typically as `{"editions":[]}`) on classic connectors too, so its presence alone does not imply a 2.0 connector; `_integrationId` is required inside it only when `framework` is `twoDotZero`.
1008
+ properties:
1009
+ _integrationId:
1010
+ type: string
1011
+ format: objectId
1012
+ x-celigo-refModel: integrations
1013
+ description: Master integration this 2.0 connector packages. Must match the connector's top-level `_integrationId`.
1014
+ examples:
1015
+ - 66795a5d0d5b5574e02e5e63
1016
+ editions:
1017
+ type: array
1018
+ description: Editions the connector offers, each bundling the resources an installation receives.
1019
+ items:
1020
+ type: object
1021
+ required:
1022
+ - displayName
1023
+ properties:
1024
+ displayName:
1025
+ type: string
1026
+ description: Edition name shown when choosing an edition during install.
1027
+ examples:
1028
+ - Standard
1029
+ order:
1030
+ type: integer
1031
+ description: Sort position of the edition in the install UI.
1032
+ examples:
1033
+ - 1
1034
+ resources:
1035
+ $ref: '#/components/schemas/EditionResourceList'
1036
+ childResources:
1037
+ $ref: '#/components/schemas/EditionResourceList'
1038
+ changeEdition:
1039
+ type: object
1040
+ description: Hook invoked when an installation switches between editions.
1041
+ properties:
1042
+ function:
1043
+ type: string
1044
+ description: Stack function called to migrate an installation between editions.
1045
+ examples:
1046
+ - changeEdition
1047
+ _scriptId:
1048
+ type: string
1049
+ format: objectId
1050
+ x-celigo-refModel: scripts
1051
+ description: Script backing the change-edition function.
1052
+ examples:
1053
+ - 61f92026dd053843b5d72350
1054
+ isParentChild:
1055
+ type: boolean
1056
+ readOnly: true
1057
+ description: When true, the master integration supports parent-child (multi-store) installs. Computed automatically from the integration; not settable.
1058
+ if:
1059
+ properties:
1060
+ framework:
1061
+ const: twoDotZero
1062
+ required:
1063
+ - framework
1064
+ then:
1065
+ required:
1066
+ - twoDotZero
1067
+ properties:
1068
+ twoDotZero:
1069
+ required:
1070
+ - _integrationId
1071
+ ResourceResponse:
1072
+ type: object
1073
+ description: Response
1074
+ x-celigo-ai-guidance:
1075
+ - Core response fields shared by all Celigo resources
1076
+ properties:
1077
+ _id:
1078
+ type: string
1079
+ format: objectId
1080
+ readOnly: true
1081
+ description: Unique identifier for the resource. Format is a 24-character hexadecimal string.
1082
+ x-celigo-ai-guidance:
1083
+ - |-
1084
+ The _id is used in:
1085
+ - API endpoints that operate on a specific resource (e.g., GET, PUT, DELETE)
1086
+ - References from other resources (e.g., flows that use this resource)
1087
+ - Job history and error tracking
1088
+ examples:
1089
+ - 5f8d43a1b9e5a80011a35f2c
1090
+ createdAt:
1091
+ type: string
1092
+ format: date-time
1093
+ readOnly: true
1094
+ description: Timestamp when the resource was created. Set automatically and cannot be modified.
1095
+ x-celigo-ai-guidance:
1096
+ - Recorded in ISO 8601 with a UTC timezone (Z suffix).
1097
+ examples:
1098
+ - '2023-04-01T09:15:32Z'
1099
+ lastModified:
1100
+ type: string
1101
+ format: date-time
1102
+ readOnly: true
1103
+ description: Timestamp when the resource was last updated. Changes whenever any property is modified.
1104
+ x-celigo-ai-guidance:
1105
+ - Recorded in ISO 8601 with a UTC timezone (Z suffix); always equal to or later than `createdAt`.
1106
+ examples:
1107
+ - '2023-04-15T14:30:15Z'
1108
+ deletedAt:
1109
+ type:
1110
+ - string
1111
+ - 'null'
1112
+ format: date-time
1113
+ readOnly: true
1114
+ description: Timestamp when the resource was soft-deleted. When null or absent, the resource is active.
1115
+ x-celigo-ai-guidance:
1116
+ - Non-null means the resource is soft-deleted (in the recycle bin) — recoverable within the retention period before permanent removal.
1117
+ examples:
1118
+ - '2023-05-20T11:45:32Z'
1119
+ required:
1120
+ - _id
1121
+ Connector:
1122
+ type: object
1123
+ description: Connector object as returned by the API. Also used as the request body for create and update; `readOnly` fields are server-managed and ignored on writes.
1124
+ required:
1125
+ - _id
1126
+ - _userId
1127
+ - name
1128
+ - handle
1129
+ allOf:
1130
+ - $ref: '#/components/schemas/ConnectorBase'
1131
+ - $ref: '#/components/schemas/ResourceResponse'
1132
+ - type: object
1133
+ properties:
1134
+ _userId:
1135
+ type: string
1136
+ format: objectId
1137
+ x-celigo-refModel: users
1138
+ readOnly: true
1139
+ description: User who published the connector.
1140
+ examples:
1141
+ - 54f66374661734964a00011e
1142
+ handle:
1143
+ type: string
1144
+ readOnly: true
1145
+ description: Auto-generated short unique slug for the connector.
1146
+ examples:
1147
+ - sc4n
1148
+ numInstalls:
1149
+ type: integer
1150
+ readOnly: true
1151
+ description: Number of active installations of this connector.
1152
+ examples:
1153
+ - 3672
1154
+ Request:
1155
+ type: object
1156
+ description: Fields that can be sent when creating or updating a connector. Partner accounts only.
1157
+ required:
1158
+ - name
1159
+ allOf:
1160
+ - $ref: '#/components/schemas/ConnectorBase'
1161
+ Error:
1162
+ type: object
1163
+ description: Standard error response envelope returned by integrator.io APIs.
1164
+ properties:
1165
+ errors:
1166
+ type: array
1167
+ description: List of errors that occurred while processing the request.
1168
+ items:
1169
+ type: object
1170
+ properties:
1171
+ code:
1172
+ oneOf:
1173
+ - type: string
1174
+ - type: integer
1175
+ description: |-
1176
+ Machine-readable error code. Usually a string like
1177
+ `invalid_ref`, `missing_required_field`, or `unauthorized`;
1178
+ may be an **integer** when the error mirrors an upstream HTTP
1179
+ status (e.g. `500`) — most commonly returned by connection-ping
1180
+ and adaptor-proxy responses.
1181
+ message:
1182
+ type: string
1183
+ description: Human-readable description of the error.
1184
+ field:
1185
+ type: string
1186
+ description: |-
1187
+ Optional pointer to the document field that caused the error.
1188
+ Used by structural validation errors (`missing_required_field`,
1189
+ `invalid_ref`) to indicate which field is at fault
1190
+ (e.g. `_id`, `type`, `http.baseURI`).
1191
+ source:
1192
+ type: string
1193
+ description: |-
1194
+ Optional origin layer for the error — e.g. `application` when
1195
+ the error came from the remote system the adaptor called,
1196
+ `connector` when the adaptor itself rejected the request.
1197
+ required:
1198
+ - message
1199
+ required:
1200
+ - errors
1201
+ License:
1202
+ type: object
1203
+ properties:
1204
+ _id:
1205
+ type: string
1206
+ format: objectId
1207
+ readOnly: true
1208
+ description: System-generated unique identifier for the license.
1209
+ examples:
1210
+ - 624cb0356309dc3a543733a4
1211
+ expires:
1212
+ type: string
1213
+ format: date-time
1214
+ description: Date and time at which the license expires.
1215
+ examples:
1216
+ - '2027-04-05T00:00:00.000Z'
1217
+ created:
1218
+ type: string
1219
+ format: date-time
1220
+ description: Timestamp when the license was created.
1221
+ examples:
1222
+ - '2022-04-05T21:10:13.226Z'
1223
+ opts:
1224
+ type: object
1225
+ description: License options — connector edition and any add-on licenses granted.
1226
+ properties:
1227
+ connectorEdition:
1228
+ type: string
1229
+ description: License tier (e.g. `standard`, `premium`, `enterprise`).
1230
+ examples:
1231
+ - premium
1232
+ addonLicenses:
1233
+ type: array
1234
+ description: Add-on licenses granted in addition to the base connector edition, grouped by add-on type.
1235
+ items:
1236
+ type: object
1237
+ properties:
1238
+ type:
1239
+ type: string
1240
+ description: Add-on type this group of license grants applies to (e.g. `store`).
1241
+ examples:
1242
+ - store
1243
+ licenses:
1244
+ type: array
1245
+ description: Individual add-on license grants of this type.
1246
+ items:
1247
+ type: object
1248
+ properties:
1249
+ addOnEdition:
1250
+ type: string
1251
+ description: Edition tier of the add-on license grant (e.g. `premium`).
1252
+ examples:
1253
+ - premium
1254
+ user:
1255
+ type: object
1256
+ description: Integrator.io user the license is issued to, resolved from the email supplied at creation.
1257
+ properties:
1258
+ email:
1259
+ type: string
1260
+ format: email
1261
+ description: Email address of the licensed user.
1262
+ examples:
1263
+ - admin@example.com
1264
+ _id:
1265
+ type: string
1266
+ format: objectId
1267
+ x-celigo-refModel: users
1268
+ description: Unique identifier of the licensed user.
1269
+ examples:
1270
+ - 624774a6a7574d3ed9f9a5cc
1271
+ name:
1272
+ type: string
1273
+ description: Display name of the licensed user.
1274
+ examples:
1275
+ - Account Admin
1276
+ _integrationId:
1277
+ type: string
1278
+ format: objectId
1279
+ x-celigo-refModel: integrations
1280
+ description: Integration instance created for the licensed user's installation of this connector. Each connector license maps one user's installation to its own integration.
1281
+ examples:
1282
+ - 5f7e39a76bb8d813180a9549
1283
+ LicenseCreateRequest:
1284
+ type: object
1285
+ properties:
1286
+ email:
1287
+ type: string
1288
+ format: email
1289
+ description: |-
1290
+ Email address of the integrator.io user to license. The backend
1291
+ resolves this to a user account.
1292
+ examples:
1293
+ - admin@example.com
1294
+ expires:
1295
+ type: string
1296
+ format: date-time
1297
+ description: Date and time at which the license expires.
1298
+ examples:
1299
+ - '2027-04-05T00:00:00.000Z'
1300
+ opts:
1301
+ type: object
1302
+ description: License options — connector edition and any add-on licenses to grant.
1303
+ properties:
1304
+ connectorEdition:
1305
+ type: string
1306
+ description: License tier (e.g. `standard`, `premium`, `enterprise`).
1307
+ examples:
1308
+ - premium
1309
+ addonLicenses:
1310
+ type: array
1311
+ description: Add-on licenses to grant in addition to the base connector edition, grouped by add-on type.
1312
+ items:
1313
+ type: object
1314
+ properties:
1315
+ type:
1316
+ type: string
1317
+ description: Add-on type this group of license grants applies to (e.g. `store`).
1318
+ examples:
1319
+ - store
1320
+ licenses:
1321
+ type: array
1322
+ description: Individual add-on license grants of this type.
1323
+ items:
1324
+ type: object
1325
+ properties:
1326
+ addOnEdition:
1327
+ type: string
1328
+ description: Edition tier of the add-on license grant (e.g. `premium`).
1329
+ examples:
1330
+ - premium
1331
+ responses:
1332
+ 401-unauthorized:
1333
+ description: |-
1334
+ Unauthorized. The request lacks a valid bearer token, or the provided token
1335
+ failed to authenticate.
1336
+
1337
+ Note: the 401 response is produced by the auth middleware **before** the
1338
+ request reaches the endpoint handler, so it does **not** follow the
1339
+ standard `{errors: [...]}` envelope. Instead the body is a bare
1340
+ `{message: string}` object with no `code`, no `errors` array. Callers
1341
+ handling 401s should key off the HTTP status and the `message` string,
1342
+ not try to destructure an `errors[]`.
1343
+ content:
1344
+ application/json:
1345
+ schema:
1346
+ type: object
1347
+ properties:
1348
+ message:
1349
+ type: string
1350
+ description: |-
1351
+ Human-readable description of the auth failure. Known values:
1352
+ - `"Unauthorized"` — no `Authorization` header on the request.
1353
+ - `"Bearer Authentication Failed"` — header present but token
1354
+ is invalid, revoked, or expired.
1355
+ required:
1356
+ - message
1357
+ examples:
1358
+ missing_token:
1359
+ summary: No Authorization header sent
1360
+ value:
1361
+ message: Unauthorized
1362
+ invalid_token:
1363
+ summary: Bearer token invalid or revoked
1364
+ value:
1365
+ message: Bearer Authentication Failed
1366
+ 422-unprocessable-entity:
1367
+ description: |
1368
+ Unprocessable entity. The request was well-formed but was unable to be followed due to semantic errors.
1369
+ content:
1370
+ application/json:
1371
+ schema:
1372
+ $ref: '#/components/schemas/Error'
1373
+ examples:
1374
+ default:
1375
+ value:
1376
+ errors:
1377
+ - code: unprocessable_entity
1378
+ message: The request could not be processed due to a semantic error.
1379
+ 400-bad-request:
1380
+ description: |
1381
+ Bad request. The server could not understand the request because of malformed syntax or invalid parameters.
1382
+ content:
1383
+ application/json:
1384
+ schema:
1385
+ $ref: '#/components/schemas/Error'
1386
+ examples:
1387
+ default:
1388
+ value:
1389
+ errors:
1390
+ - code: invalid_request
1391
+ message: The request body failed validation.
1392
+ 404-not-found:
1393
+ description: |
1394
+ Not found. The requested resource does not exist or is not visible to the caller.
1395
+ content:
1396
+ application/json:
1397
+ schema:
1398
+ $ref: '#/components/schemas/Error'
1399
+ examples:
1400
+ default:
1401
+ value:
1402
+ errors:
1403
+ - code: not_found
1404
+ message: The requested resource was not found.
1405
+ x-enable-proxy: true
1406
+ x-internal: false