@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.
- package/LICENSE +21 -0
- package/README.md +119 -0
- package/dist/account.yml +592 -0
- package/dist/agent.yml +908 -0
- package/dist/ai-agent.yml +5471 -0
- package/dist/api.yml +4140 -0
- package/dist/apim.yml +1286 -0
- package/dist/asynchelper.yml +3391 -0
- package/dist/audit.yml +2006 -0
- package/dist/connection.yml +8665 -0
- package/dist/connector.yml +1406 -0
- package/dist/ediprofile.yml +911 -0
- package/dist/editransaction.yml +1210 -0
- package/dist/enduser.yml +1724 -0
- package/dist/environment.yml +568 -0
- package/dist/eventreport.yml +692 -0
- package/dist/export.yml +17610 -0
- package/dist/filedefinition.yml +1396 -0
- package/dist/filestorage.yml +3102 -0
- package/dist/flow.yml +7928 -0
- package/dist/guardrail.yml +2763 -0
- package/dist/httpconnector.yml +2277 -0
- package/dist/httpconnectorendpoint.yml +722 -0
- package/dist/httpconnectorresource.yml +396 -0
- package/dist/iclient.yml +4452 -0
- package/dist/import.yml +15381 -0
- package/dist/integration.yml +4406 -0
- package/dist/job.yml +2014 -0
- package/dist/lookupcache.yml +1325 -0
- package/dist/marketplace.yml +685 -0
- package/dist/mcp-oauth-provider.yml +590 -0
- package/dist/mcp-server.yml +2656 -0
- package/dist/notification.yml +488 -0
- package/dist/processor.yml +1253 -0
- package/dist/profile.yml +455 -0
- package/dist/recyclebin.yml +768 -0
- package/dist/script.yml +1128 -0
- package/dist/stack.yml +1291 -0
- package/dist/state.yml +894 -0
- package/dist/subscription.yml +1405 -0
- package/dist/sync.yml +4857 -0
- package/dist/tag.yml +553 -0
- package/dist/template.yml +897 -0
- package/dist/tool.yml +33656 -0
- package/dist/tradingpartnerconnector.yml +1490 -0
- package/dist/user.yml +831 -0
- package/package.json +41 -0
- 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
|