@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,4406 @@
|
|
|
1
|
+
openapi: 3.2.0
|
|
2
|
+
info:
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
title: Integrations
|
|
5
|
+
description: API for managing Celigo integrations — the top-level containers that group flows, connections, and other resources into one unit.
|
|
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: Integrations
|
|
19
|
+
description: |-
|
|
20
|
+
Integrations are the top-level containers that group flows, connections, exports,
|
|
21
|
+
imports, and other resources into a logical unit. Each integration appears as a tile
|
|
22
|
+
on the Celigo Home page.
|
|
23
|
+
|
|
24
|
+
Two flavors exist:
|
|
25
|
+
- **Standard integrations** — user-created containers that group custom flows.
|
|
26
|
+
- **Integration App installations** — created from a published connector/template,
|
|
27
|
+
with install/uninstall steps, settings forms, editions, and optional child
|
|
28
|
+
integrations. These have `_connectorId` and `_templateId` set.
|
|
29
|
+
|
|
30
|
+
Integrations support **Integration Lifecycle Management (ILM)**: clone an integration
|
|
31
|
+
across environments, then use revisions (snapshot, pull, revert) to promote changes
|
|
32
|
+
between them. Lifecycle operations carry every resource the integration contains.
|
|
33
|
+
|
|
34
|
+
## Integration schema
|
|
35
|
+
|
|
36
|
+
{% openapi-schemas spec="integration" schemas="Integration" grouped="true" %}
|
|
37
|
+
paths:
|
|
38
|
+
/v1/integrations:
|
|
39
|
+
get:
|
|
40
|
+
x-internal: false
|
|
41
|
+
summary: List integrations
|
|
42
|
+
description: Returns all integrations in the account. Supports field projection via `include`/`exclude`.
|
|
43
|
+
operationId: listIntegrations
|
|
44
|
+
tags:
|
|
45
|
+
- Integrations
|
|
46
|
+
parameters:
|
|
47
|
+
- $ref: '#/components/parameters/Include'
|
|
48
|
+
- $ref: '#/components/parameters/Exclude'
|
|
49
|
+
- name: limit
|
|
50
|
+
in: query
|
|
51
|
+
required: false
|
|
52
|
+
description: Maximum number of integrations to return per page. When more results exist, the response includes a `Link` header with a `rel="next"` URL.
|
|
53
|
+
schema:
|
|
54
|
+
type: integer
|
|
55
|
+
minimum: 1
|
|
56
|
+
examples:
|
|
57
|
+
- 100
|
|
58
|
+
responses:
|
|
59
|
+
'200':
|
|
60
|
+
description: Successfully retrieved list of integrations.
|
|
61
|
+
headers:
|
|
62
|
+
Link:
|
|
63
|
+
description: |
|
|
64
|
+
RFC-5988 pagination links. When more pages remain, includes a `<...>; rel="next"` entry;
|
|
65
|
+
absent on the final page.
|
|
66
|
+
schema:
|
|
67
|
+
type: string
|
|
68
|
+
content:
|
|
69
|
+
application/json:
|
|
70
|
+
schema:
|
|
71
|
+
type: array
|
|
72
|
+
items:
|
|
73
|
+
$ref: '#/components/schemas/Integration'
|
|
74
|
+
examples:
|
|
75
|
+
default:
|
|
76
|
+
value:
|
|
77
|
+
- _id: 6842261335b64c0bcb308e4f
|
|
78
|
+
name: Shopify → NetSuite Orders
|
|
79
|
+
description: Syncs orders, customers, and inventory between Shopify and NetSuite.
|
|
80
|
+
mode: settings
|
|
81
|
+
sandbox: false
|
|
82
|
+
_registeredConnectionIds:
|
|
83
|
+
- 626168f90b6ef816b50c82d7
|
|
84
|
+
- 6553ebdeda62bb22e7fa81ff
|
|
85
|
+
install: []
|
|
86
|
+
installSteps: []
|
|
87
|
+
uninstallSteps: []
|
|
88
|
+
changeEditionSteps: []
|
|
89
|
+
flowGroupings: []
|
|
90
|
+
apiGroupings: []
|
|
91
|
+
createdAt: '2025-06-05T23:19:47.141Z'
|
|
92
|
+
lastModified: '2026-05-02T01:02:27.378Z'
|
|
93
|
+
'204':
|
|
94
|
+
description: No integrations exist in the account
|
|
95
|
+
'401':
|
|
96
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
97
|
+
post:
|
|
98
|
+
x-internal: false
|
|
99
|
+
summary: Create an integration
|
|
100
|
+
description: |-
|
|
101
|
+
Creates a new integration. Only `name` is required — the server populates all other
|
|
102
|
+
fields with defaults. Do not include Integration App fields (`_connectorId`, `_templateId`,
|
|
103
|
+
`install`, `installSteps`, etc.) unless you are creating an IA installation.
|
|
104
|
+
operationId: createIntegration
|
|
105
|
+
tags:
|
|
106
|
+
- Integrations
|
|
107
|
+
requestBody:
|
|
108
|
+
required: true
|
|
109
|
+
content:
|
|
110
|
+
application/json:
|
|
111
|
+
schema:
|
|
112
|
+
$ref: '#/components/schemas/Request'
|
|
113
|
+
examples:
|
|
114
|
+
minimal:
|
|
115
|
+
summary: Minimal create
|
|
116
|
+
value:
|
|
117
|
+
name: Shopify → NetSuite Orders
|
|
118
|
+
with_description:
|
|
119
|
+
summary: With description
|
|
120
|
+
value:
|
|
121
|
+
name: Shopify → NetSuite Orders
|
|
122
|
+
description: Syncs orders, customers, and inventory between Shopify and NetSuite.
|
|
123
|
+
responses:
|
|
124
|
+
'201':
|
|
125
|
+
description: Integration created successfully.
|
|
126
|
+
content:
|
|
127
|
+
application/json:
|
|
128
|
+
schema:
|
|
129
|
+
$ref: '#/components/schemas/Integration'
|
|
130
|
+
examples:
|
|
131
|
+
created:
|
|
132
|
+
summary: Created integration with server-defaulted empty arrays
|
|
133
|
+
value:
|
|
134
|
+
_id: 6842261335b64c0bcb308e4f
|
|
135
|
+
name: Shopify → NetSuite Orders
|
|
136
|
+
description: Syncs orders, customers, and inventory between Shopify and NetSuite.
|
|
137
|
+
sandbox: false
|
|
138
|
+
install: []
|
|
139
|
+
installSteps: []
|
|
140
|
+
uninstallSteps: []
|
|
141
|
+
changeEditionSteps: []
|
|
142
|
+
flowGroupings: []
|
|
143
|
+
apiGroupings: []
|
|
144
|
+
_registeredConnectionIds: []
|
|
145
|
+
_registeredLookupCacheIds: []
|
|
146
|
+
createdAt: '2025-06-05T23:19:47.141Z'
|
|
147
|
+
lastModified: '2025-06-05T23:19:47.141Z'
|
|
148
|
+
'400':
|
|
149
|
+
$ref: '#/components/responses/400-bad-request'
|
|
150
|
+
'401':
|
|
151
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
152
|
+
'422':
|
|
153
|
+
$ref: '#/components/responses/422-unprocessable-entity'
|
|
154
|
+
/v1/integrations/{_id}:
|
|
155
|
+
get:
|
|
156
|
+
x-internal: false
|
|
157
|
+
summary: Get an integration
|
|
158
|
+
operationId: getIntegration
|
|
159
|
+
tags:
|
|
160
|
+
- Integrations
|
|
161
|
+
description: Returns the full integration object.
|
|
162
|
+
parameters:
|
|
163
|
+
- name: _id
|
|
164
|
+
in: path
|
|
165
|
+
required: true
|
|
166
|
+
description: Integration id.
|
|
167
|
+
schema:
|
|
168
|
+
type: string
|
|
169
|
+
format: objectId
|
|
170
|
+
x-celigo-refModel: integrations
|
|
171
|
+
examples:
|
|
172
|
+
- 6842261335b64c0bcb308e4f
|
|
173
|
+
responses:
|
|
174
|
+
'200':
|
|
175
|
+
description: Successfully retrieved integration.
|
|
176
|
+
content:
|
|
177
|
+
application/json:
|
|
178
|
+
schema:
|
|
179
|
+
$ref: '#/components/schemas/Integration'
|
|
180
|
+
examples:
|
|
181
|
+
standard:
|
|
182
|
+
summary: Standard integration
|
|
183
|
+
value:
|
|
184
|
+
_id: 6842261335b64c0bcb308e4f
|
|
185
|
+
name: Shopify → NetSuite Orders
|
|
186
|
+
description: Syncs orders, customers, and inventory.
|
|
187
|
+
mode: settings
|
|
188
|
+
sandbox: false
|
|
189
|
+
_registeredConnectionIds:
|
|
190
|
+
- 626168f90b6ef816b50c82d7
|
|
191
|
+
install: []
|
|
192
|
+
installSteps: []
|
|
193
|
+
uninstallSteps: []
|
|
194
|
+
changeEditionSteps: []
|
|
195
|
+
flowGroupings:
|
|
196
|
+
- _id: 69d42d09b9c28ea0b7e7c0c0
|
|
197
|
+
name: Order sync
|
|
198
|
+
apiGroupings: []
|
|
199
|
+
createdAt: '2025-06-05T23:19:47.141Z'
|
|
200
|
+
lastModified: '2026-05-02T01:02:27.378Z'
|
|
201
|
+
'401':
|
|
202
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
203
|
+
'404':
|
|
204
|
+
$ref: '#/components/responses/404-not-found'
|
|
205
|
+
put:
|
|
206
|
+
x-internal: false
|
|
207
|
+
summary: Update an integration
|
|
208
|
+
operationId: updateIntegration
|
|
209
|
+
tags:
|
|
210
|
+
- Integrations
|
|
211
|
+
description: |-
|
|
212
|
+
Replaces the integration's mutable fields. Send the full object -- omitted fields revert to
|
|
213
|
+
defaults. GET the integration first, modify the fields you need, then PUT back. For partial
|
|
214
|
+
updates to `settings`, `flowGroupings`, or `apiGroupings`, prefer PATCH with JSON Patch
|
|
215
|
+
instead.
|
|
216
|
+
parameters:
|
|
217
|
+
- name: _id
|
|
218
|
+
in: path
|
|
219
|
+
required: true
|
|
220
|
+
description: Integration id.
|
|
221
|
+
schema:
|
|
222
|
+
type: string
|
|
223
|
+
format: objectId
|
|
224
|
+
x-celigo-refModel: integrations
|
|
225
|
+
examples:
|
|
226
|
+
- 6842261335b64c0bcb308e4f
|
|
227
|
+
requestBody:
|
|
228
|
+
required: true
|
|
229
|
+
content:
|
|
230
|
+
application/json:
|
|
231
|
+
schema:
|
|
232
|
+
$ref: '#/components/schemas/Request'
|
|
233
|
+
examples:
|
|
234
|
+
full_replace:
|
|
235
|
+
summary: Full replace — send every field you want to keep
|
|
236
|
+
value:
|
|
237
|
+
name: Shopify → NetSuite Orders
|
|
238
|
+
description: Syncs orders, customers, and inventory between Shopify and NetSuite.
|
|
239
|
+
mode: settings
|
|
240
|
+
flowGroupings:
|
|
241
|
+
- name: Order sync
|
|
242
|
+
responses:
|
|
243
|
+
'200':
|
|
244
|
+
description: Integration updated successfully.
|
|
245
|
+
content:
|
|
246
|
+
application/json:
|
|
247
|
+
schema:
|
|
248
|
+
$ref: '#/components/schemas/Integration'
|
|
249
|
+
examples:
|
|
250
|
+
updated:
|
|
251
|
+
summary: Updated integration
|
|
252
|
+
value:
|
|
253
|
+
_id: 6842261335b64c0bcb308e4f
|
|
254
|
+
name: Shopify → NetSuite Orders
|
|
255
|
+
description: Syncs orders, customers, and inventory between Shopify and NetSuite.
|
|
256
|
+
mode: settings
|
|
257
|
+
sandbox: false
|
|
258
|
+
_registeredConnectionIds:
|
|
259
|
+
- 626168f90b6ef816b50c82d7
|
|
260
|
+
install: []
|
|
261
|
+
installSteps: []
|
|
262
|
+
uninstallSteps: []
|
|
263
|
+
changeEditionSteps: []
|
|
264
|
+
flowGroupings:
|
|
265
|
+
- _id: 69d42d09b9c28ea0b7e7c0c0
|
|
266
|
+
name: Order sync
|
|
267
|
+
apiGroupings: []
|
|
268
|
+
createdAt: '2025-06-05T23:19:47.141Z'
|
|
269
|
+
lastModified: '2026-06-09T17:32:31.412Z'
|
|
270
|
+
'401':
|
|
271
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
272
|
+
'404':
|
|
273
|
+
$ref: '#/components/responses/404-not-found'
|
|
274
|
+
'422':
|
|
275
|
+
$ref: '#/components/responses/422-unprocessable-entity'
|
|
276
|
+
patch:
|
|
277
|
+
x-internal: false
|
|
278
|
+
summary: Patch an integration
|
|
279
|
+
description: |-
|
|
280
|
+
Partially updates an integration using a JSON Patch document (RFC 6902).
|
|
281
|
+
Only the `replace` operation is supported, and only on the following
|
|
282
|
+
whitelisted paths:
|
|
283
|
+
|
|
284
|
+
| Path | Description |
|
|
285
|
+
|------|-------------|
|
|
286
|
+
| `/settings` | Integration settings object |
|
|
287
|
+
| `/flowGroupings` | Flow grouping configuration |
|
|
288
|
+
| `/apiGroupings` | API grouping configuration |
|
|
289
|
+
|
|
290
|
+
All other paths are rejected with `422`.
|
|
291
|
+
operationId: patchIntegration
|
|
292
|
+
tags:
|
|
293
|
+
- Integrations
|
|
294
|
+
parameters:
|
|
295
|
+
- name: _id
|
|
296
|
+
in: path
|
|
297
|
+
required: true
|
|
298
|
+
description: Integration id.
|
|
299
|
+
schema:
|
|
300
|
+
type: string
|
|
301
|
+
format: objectId
|
|
302
|
+
x-celigo-refModel: integrations
|
|
303
|
+
examples:
|
|
304
|
+
- 6842261335b64c0bcb308e4f
|
|
305
|
+
requestBody:
|
|
306
|
+
required: true
|
|
307
|
+
content:
|
|
308
|
+
application/json:
|
|
309
|
+
schema:
|
|
310
|
+
$ref: '#/components/schemas/JsonPatchRequest'
|
|
311
|
+
examples:
|
|
312
|
+
update_settings:
|
|
313
|
+
summary: Update integration settings
|
|
314
|
+
value:
|
|
315
|
+
- op: replace
|
|
316
|
+
path: /settings
|
|
317
|
+
value:
|
|
318
|
+
region: us-west-2
|
|
319
|
+
responses:
|
|
320
|
+
'204':
|
|
321
|
+
description: Integration patched successfully
|
|
322
|
+
'401':
|
|
323
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
324
|
+
'404':
|
|
325
|
+
$ref: '#/components/responses/404-not-found'
|
|
326
|
+
'422':
|
|
327
|
+
$ref: '#/components/responses/422-unprocessable-entity'
|
|
328
|
+
delete:
|
|
329
|
+
x-internal: false
|
|
330
|
+
summary: Delete an integration
|
|
331
|
+
operationId: deleteIntegration
|
|
332
|
+
tags:
|
|
333
|
+
- Integrations
|
|
334
|
+
description: |-
|
|
335
|
+
Deletes an integration. The integration is soft-deleted and retained in the
|
|
336
|
+
recycle bin for 30 days before permanent removal.
|
|
337
|
+
parameters:
|
|
338
|
+
- name: _id
|
|
339
|
+
in: path
|
|
340
|
+
required: true
|
|
341
|
+
description: Integration id.
|
|
342
|
+
schema:
|
|
343
|
+
type: string
|
|
344
|
+
format: objectId
|
|
345
|
+
x-celigo-refModel: integrations
|
|
346
|
+
examples:
|
|
347
|
+
- 6842261335b64c0bcb308e4f
|
|
348
|
+
responses:
|
|
349
|
+
'204':
|
|
350
|
+
description: integration deleted successfully
|
|
351
|
+
'401':
|
|
352
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
353
|
+
'404':
|
|
354
|
+
$ref: '#/components/responses/404-not-found'
|
|
355
|
+
'422':
|
|
356
|
+
$ref: '#/components/responses/422-dependency-conflict'
|
|
357
|
+
/v1/integrations/{_id}/clone:
|
|
358
|
+
post:
|
|
359
|
+
x-internal: false
|
|
360
|
+
summary: Clone an integration
|
|
361
|
+
description: |
|
|
362
|
+
Creates a copy of an existing integration.
|
|
363
|
+
Supports optionally remapping referenced connections (via connectionMap).
|
|
364
|
+
operationId: cloneIntegration
|
|
365
|
+
tags:
|
|
366
|
+
- Integrations
|
|
367
|
+
parameters:
|
|
368
|
+
- name: _id
|
|
369
|
+
in: path
|
|
370
|
+
description: The unique identifier of the integration to clone
|
|
371
|
+
required: true
|
|
372
|
+
schema:
|
|
373
|
+
type: string
|
|
374
|
+
format: objectId
|
|
375
|
+
x-celigo-refModel: integrations
|
|
376
|
+
examples:
|
|
377
|
+
- 69680d7111d1437fbcbce534
|
|
378
|
+
requestBody:
|
|
379
|
+
required: false
|
|
380
|
+
content:
|
|
381
|
+
application/json:
|
|
382
|
+
schema:
|
|
383
|
+
$ref: '#/components/schemas/CloneRequest'
|
|
384
|
+
examples:
|
|
385
|
+
cross_env_clone:
|
|
386
|
+
summary: Clone into another environment, remapping both connections
|
|
387
|
+
value:
|
|
388
|
+
_envId: 67b123456789abcdef012345
|
|
389
|
+
connectionMap:
|
|
390
|
+
626168f90b6ef816b50c82d7: 64a1234567890abcdef12345
|
|
391
|
+
6553ebdeda62bb22e7fa81ff: 64a1234567890abcdef12346
|
|
392
|
+
responses:
|
|
393
|
+
'200':
|
|
394
|
+
description: Integration cloned successfully
|
|
395
|
+
content:
|
|
396
|
+
application/json:
|
|
397
|
+
schema:
|
|
398
|
+
$ref: '#/components/schemas/CloneResponse'
|
|
399
|
+
examples:
|
|
400
|
+
manifest:
|
|
401
|
+
summary: Manifest of created resources — mapped connections are reused, not cloned
|
|
402
|
+
value:
|
|
403
|
+
- model: Integration
|
|
404
|
+
_id: 68f52162f00a35a1b26eaafb
|
|
405
|
+
name: Clone - Shopify → NetSuite Orders
|
|
406
|
+
'400':
|
|
407
|
+
$ref: '#/components/responses/400-bad-request'
|
|
408
|
+
'401':
|
|
409
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
410
|
+
'404':
|
|
411
|
+
$ref: '#/components/responses/404-not-found'
|
|
412
|
+
/v1/integrations/{_id}/clone/preview:
|
|
413
|
+
get:
|
|
414
|
+
x-internal: false
|
|
415
|
+
summary: Preview cloning an integration
|
|
416
|
+
description: |
|
|
417
|
+
Returns a preview of the resources that would be created by cloning the specified integration.
|
|
418
|
+
The response includes the integration and all transitive dependencies — flows, connections,
|
|
419
|
+
exports, imports, scripts, async helpers, lookup caches, and tools.
|
|
420
|
+
No resources are created by this endpoint.
|
|
421
|
+
operationId: previewCloneIntegration
|
|
422
|
+
tags:
|
|
423
|
+
- Integrations
|
|
424
|
+
parameters:
|
|
425
|
+
- name: _id
|
|
426
|
+
in: path
|
|
427
|
+
description: The unique identifier of the integration to preview cloning
|
|
428
|
+
required: true
|
|
429
|
+
schema:
|
|
430
|
+
type: string
|
|
431
|
+
format: objectId
|
|
432
|
+
x-celigo-refModel: integrations
|
|
433
|
+
examples:
|
|
434
|
+
- 69680d7111d1437fbcbce534
|
|
435
|
+
responses:
|
|
436
|
+
'200':
|
|
437
|
+
description: Clone preview retrieved successfully
|
|
438
|
+
content:
|
|
439
|
+
application/json:
|
|
440
|
+
schema:
|
|
441
|
+
$ref: '#/components/schemas/ClonePreviewResponse'
|
|
442
|
+
examples:
|
|
443
|
+
preview:
|
|
444
|
+
summary: Integration with one flow and its transitive dependencies
|
|
445
|
+
value:
|
|
446
|
+
objects:
|
|
447
|
+
- model: Integration
|
|
448
|
+
doc:
|
|
449
|
+
_id: 6842261335b64c0bcb308e4f
|
|
450
|
+
name: Shopify → NetSuite Orders
|
|
451
|
+
- model: Flow
|
|
452
|
+
doc:
|
|
453
|
+
_id: 69f54d6b7009ea11abad707a
|
|
454
|
+
name: Shopify orders → NetSuite
|
|
455
|
+
_integrationId: 6842261335b64c0bcb308e4f
|
|
456
|
+
- model: Export
|
|
457
|
+
doc:
|
|
458
|
+
_id: 69f54d6a3469e3f5597848a1
|
|
459
|
+
name: Shopify new orders
|
|
460
|
+
_connectionId: 626168f90b6ef816b50c82d7
|
|
461
|
+
- model: Import
|
|
462
|
+
doc:
|
|
463
|
+
_id: 69f54d6c1e7f3a22cc7848b2
|
|
464
|
+
name: NetSuite sales orders
|
|
465
|
+
_connectionId: 6553ebdeda62bb22e7fa81ff
|
|
466
|
+
- model: Connection
|
|
467
|
+
doc:
|
|
468
|
+
_id: 626168f90b6ef816b50c82d7
|
|
469
|
+
name: Shopify storefront
|
|
470
|
+
type: http
|
|
471
|
+
- model: Tool
|
|
472
|
+
doc:
|
|
473
|
+
_id: 69d462d5b9c28ea0b7f82522
|
|
474
|
+
name: Get Shopify Order
|
|
475
|
+
_integrationId: 6842261335b64c0bcb308e4f
|
|
476
|
+
stackRequired: false
|
|
477
|
+
_stackId: null
|
|
478
|
+
'400':
|
|
479
|
+
description: The `_id` is not a valid ObjectId.
|
|
480
|
+
content:
|
|
481
|
+
application/json:
|
|
482
|
+
schema:
|
|
483
|
+
$ref: '#/components/schemas/Error'
|
|
484
|
+
examples:
|
|
485
|
+
invalid_ref:
|
|
486
|
+
summary: Invalid ObjectId format
|
|
487
|
+
value:
|
|
488
|
+
errors:
|
|
489
|
+
- code: invalid_ref
|
|
490
|
+
message: Please provide a valid _id.
|
|
491
|
+
'401':
|
|
492
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
493
|
+
'404':
|
|
494
|
+
$ref: '#/components/responses/404-not-found'
|
|
495
|
+
/v1/integrations/{_id}/revisions:
|
|
496
|
+
get:
|
|
497
|
+
x-internal: false
|
|
498
|
+
operationId: listIntegrationRevisions
|
|
499
|
+
tags:
|
|
500
|
+
- Integrations
|
|
501
|
+
summary: List revisions for an integration
|
|
502
|
+
description: |-
|
|
503
|
+
Returns every revision entry (snapshots, pulls, reverts) for the integration, newest first.
|
|
504
|
+
An integration with no revision history returns an empty response (204), not `[]`.
|
|
505
|
+
parameters:
|
|
506
|
+
- name: _id
|
|
507
|
+
in: path
|
|
508
|
+
required: true
|
|
509
|
+
description: Integration id.
|
|
510
|
+
schema:
|
|
511
|
+
type: string
|
|
512
|
+
format: objectId
|
|
513
|
+
x-celigo-refModel: integrations
|
|
514
|
+
examples:
|
|
515
|
+
- 6842261335b64c0bcb308e4f
|
|
516
|
+
responses:
|
|
517
|
+
'200':
|
|
518
|
+
description: Revision history, newest first.
|
|
519
|
+
content:
|
|
520
|
+
application/json:
|
|
521
|
+
schema:
|
|
522
|
+
$ref: '#/components/schemas/RevisionsResponse'
|
|
523
|
+
examples:
|
|
524
|
+
one_snapshot:
|
|
525
|
+
summary: History with one completed snapshot
|
|
526
|
+
value:
|
|
527
|
+
- _id: 6a28d2af6d42eb08f8e863e7
|
|
528
|
+
type: snapshot
|
|
529
|
+
status: completed
|
|
530
|
+
description: Stable baseline before deploying v2
|
|
531
|
+
_integrationId: 6842261335b64c0bcb308e4f
|
|
532
|
+
_fromIntegrationId: 6842261335b64c0bcb308e4f
|
|
533
|
+
fromIntegrationName: Shopify → NetSuite Orders
|
|
534
|
+
beforeRevisionHash: 34b7ae8d56563e242bc0bd42fd28874442657e58
|
|
535
|
+
sandbox: false
|
|
536
|
+
_createdByUserId: 624774a6a7574d3ed9f9a5cc
|
|
537
|
+
installSteps: []
|
|
538
|
+
createdAt: '2026-06-10T02:57:51.483Z'
|
|
539
|
+
lastModified: '2026-06-10T02:57:51.483Z'
|
|
540
|
+
'204':
|
|
541
|
+
description: No revisions exist for this integration.
|
|
542
|
+
'401':
|
|
543
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
544
|
+
'404':
|
|
545
|
+
$ref: '#/components/responses/404-not-found'
|
|
546
|
+
/v1/integrations/{_id}/revisions/{_revisionId}:
|
|
547
|
+
get:
|
|
548
|
+
x-internal: false
|
|
549
|
+
operationId: getIntegrationRevision
|
|
550
|
+
tags:
|
|
551
|
+
- Integrations
|
|
552
|
+
summary: Get a revision
|
|
553
|
+
description: |-
|
|
554
|
+
Returns the full revision record. The list endpoint already surfaces every field, so this is
|
|
555
|
+
primarily useful when you have a `_revisionId` in hand (e.g. from a webhook, audit log, or
|
|
556
|
+
external reference) and want to verify state without re-listing.
|
|
557
|
+
parameters:
|
|
558
|
+
- name: _id
|
|
559
|
+
in: path
|
|
560
|
+
required: true
|
|
561
|
+
description: Integration id.
|
|
562
|
+
schema:
|
|
563
|
+
type: string
|
|
564
|
+
format: objectId
|
|
565
|
+
x-celigo-refModel: integrations
|
|
566
|
+
examples:
|
|
567
|
+
- 6842261335b64c0bcb308e4f
|
|
568
|
+
- name: _revisionId
|
|
569
|
+
in: path
|
|
570
|
+
required: true
|
|
571
|
+
description: Revision id.
|
|
572
|
+
schema:
|
|
573
|
+
type: string
|
|
574
|
+
format: objectId
|
|
575
|
+
examples:
|
|
576
|
+
- 6a28d2af6d42eb08f8e863e7
|
|
577
|
+
responses:
|
|
578
|
+
'200':
|
|
579
|
+
description: Revision record.
|
|
580
|
+
content:
|
|
581
|
+
application/json:
|
|
582
|
+
schema:
|
|
583
|
+
$ref: '#/components/schemas/Revision'
|
|
584
|
+
examples:
|
|
585
|
+
snapshot:
|
|
586
|
+
summary: Completed snapshot revision
|
|
587
|
+
value:
|
|
588
|
+
_id: 6a28d2af6d42eb08f8e863e7
|
|
589
|
+
type: snapshot
|
|
590
|
+
status: completed
|
|
591
|
+
description: Stable baseline before deploying v2
|
|
592
|
+
_integrationId: 6842261335b64c0bcb308e4f
|
|
593
|
+
_fromIntegrationId: 6842261335b64c0bcb308e4f
|
|
594
|
+
fromIntegrationName: Shopify → NetSuite Orders
|
|
595
|
+
beforeRevisionHash: 34b7ae8d56563e242bc0bd42fd28874442657e58
|
|
596
|
+
sandbox: false
|
|
597
|
+
_createdByUserId: 624774a6a7574d3ed9f9a5cc
|
|
598
|
+
installSteps: []
|
|
599
|
+
createdAt: '2026-06-10T02:57:51.483Z'
|
|
600
|
+
lastModified: '2026-06-10T02:57:51.483Z'
|
|
601
|
+
'401':
|
|
602
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
603
|
+
'404':
|
|
604
|
+
$ref: '#/components/responses/404-not-found'
|
|
605
|
+
/v1/integrations/{_id}/revisions/create:
|
|
606
|
+
post:
|
|
607
|
+
x-internal: false
|
|
608
|
+
operationId: createIntegrationRevision
|
|
609
|
+
tags:
|
|
610
|
+
- Integrations
|
|
611
|
+
summary: Create a snapshot revision
|
|
612
|
+
description: |-
|
|
613
|
+
Takes a point-in-time snapshot of the integration's current state and writes it to the revision
|
|
614
|
+
history. The returned revision has `type: snapshot` and `status: completed` immediately --
|
|
615
|
+
snapshots are synchronous and do not require an apply step. This is the only revision type
|
|
616
|
+
that can be created via the public API; `pull` and `revert` revisions require the Celigo UI.
|
|
617
|
+
parameters:
|
|
618
|
+
- name: _id
|
|
619
|
+
in: path
|
|
620
|
+
required: true
|
|
621
|
+
description: Integration id.
|
|
622
|
+
schema:
|
|
623
|
+
type: string
|
|
624
|
+
format: objectId
|
|
625
|
+
x-celigo-refModel: integrations
|
|
626
|
+
examples:
|
|
627
|
+
- 6842261335b64c0bcb308e4f
|
|
628
|
+
requestBody:
|
|
629
|
+
required: true
|
|
630
|
+
content:
|
|
631
|
+
application/json:
|
|
632
|
+
schema:
|
|
633
|
+
$ref: '#/components/schemas/RevisionCreateRequest'
|
|
634
|
+
examples:
|
|
635
|
+
default:
|
|
636
|
+
value:
|
|
637
|
+
description: Stable baseline before deploying v2
|
|
638
|
+
responses:
|
|
639
|
+
'201':
|
|
640
|
+
description: Snapshot revision created.
|
|
641
|
+
content:
|
|
642
|
+
application/json:
|
|
643
|
+
schema:
|
|
644
|
+
$ref: '#/components/schemas/Revision'
|
|
645
|
+
examples:
|
|
646
|
+
snapshot_created:
|
|
647
|
+
summary: Snapshot revision — completed immediately
|
|
648
|
+
value:
|
|
649
|
+
_id: 6a28d2af6d42eb08f8e863e7
|
|
650
|
+
type: snapshot
|
|
651
|
+
status: completed
|
|
652
|
+
description: Stable baseline before deploying v2
|
|
653
|
+
_integrationId: 6842261335b64c0bcb308e4f
|
|
654
|
+
_fromIntegrationId: 6842261335b64c0bcb308e4f
|
|
655
|
+
fromIntegrationName: Shopify → NetSuite Orders
|
|
656
|
+
beforeRevisionHash: 34b7ae8d56563e242bc0bd42fd28874442657e58
|
|
657
|
+
sandbox: false
|
|
658
|
+
_createdByUserId: 624774a6a7574d3ed9f9a5cc
|
|
659
|
+
installSteps: []
|
|
660
|
+
createdAt: '2026-06-10T02:57:51.483Z'
|
|
661
|
+
lastModified: '2026-06-10T02:57:51.483Z'
|
|
662
|
+
'400':
|
|
663
|
+
$ref: '#/components/responses/400-bad-request'
|
|
664
|
+
'401':
|
|
665
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
666
|
+
'404':
|
|
667
|
+
$ref: '#/components/responses/404-not-found'
|
|
668
|
+
/v1/integrations/{_id}/revisions/{_revisionId}/diff:
|
|
669
|
+
get:
|
|
670
|
+
x-internal: false
|
|
671
|
+
operationId: getIntegrationRevisionDiff
|
|
672
|
+
tags:
|
|
673
|
+
- Integrations
|
|
674
|
+
summary: Diff a pending revision
|
|
675
|
+
description: |-
|
|
676
|
+
Returns the before/after diff for a pull or revert revision. The diff is materialized on `pull`
|
|
677
|
+
and `revert` revisions and is retained on their `completed` state -- available for both
|
|
678
|
+
`inprogress` and `completed` pull/revert revisions. Snapshot revisions are not diffable
|
|
679
|
+
(there is no source integration to diff against), and `canceled` revisions drop their diff.
|
|
680
|
+
|
|
681
|
+
The response body is a `{before, after}` envelope where each side is a map keyed by resource
|
|
682
|
+
type (e.g. `flow`, `export`, `connection`, `api`, `tool`) whose values are maps of resourceId
|
|
683
|
+
to full resource snapshot.
|
|
684
|
+
parameters:
|
|
685
|
+
- name: _id
|
|
686
|
+
in: path
|
|
687
|
+
required: true
|
|
688
|
+
description: Integration id.
|
|
689
|
+
schema:
|
|
690
|
+
type: string
|
|
691
|
+
format: objectId
|
|
692
|
+
x-celigo-refModel: integrations
|
|
693
|
+
examples:
|
|
694
|
+
- 6842261335b64c0bcb308e4f
|
|
695
|
+
- name: _revisionId
|
|
696
|
+
in: path
|
|
697
|
+
required: true
|
|
698
|
+
description: Revision id. Must be a `pull` or `revert` revision in `inprogress` or `completed` state.
|
|
699
|
+
schema:
|
|
700
|
+
type: string
|
|
701
|
+
format: objectId
|
|
702
|
+
examples:
|
|
703
|
+
- 6a28d2af6d42eb08f8e863e7
|
|
704
|
+
responses:
|
|
705
|
+
'200':
|
|
706
|
+
description: Diff envelope for the pending revision.
|
|
707
|
+
content:
|
|
708
|
+
application/json:
|
|
709
|
+
schema:
|
|
710
|
+
$ref: '#/components/schemas/RevisionDiffResponse'
|
|
711
|
+
examples:
|
|
712
|
+
flow_change:
|
|
713
|
+
summary: Pull revision that re-enables a flow
|
|
714
|
+
value:
|
|
715
|
+
before:
|
|
716
|
+
flow:
|
|
717
|
+
69f54d6b7009ea11abad707a:
|
|
718
|
+
name: Shopify orders → NetSuite
|
|
719
|
+
disabled: true
|
|
720
|
+
after:
|
|
721
|
+
flow:
|
|
722
|
+
69f54d6b7009ea11abad707a:
|
|
723
|
+
name: Shopify orders → NetSuite
|
|
724
|
+
disabled: false
|
|
725
|
+
'400':
|
|
726
|
+
description: |-
|
|
727
|
+
Revision is not in a diffable state. Error code `invalid_revision_state`. Occurs on
|
|
728
|
+
snapshot revisions (no source to diff against), `canceled` revisions (diff dropped), and
|
|
729
|
+
`inprogress` revisions whose install steps haven't materialized yet.
|
|
730
|
+
content:
|
|
731
|
+
application/json:
|
|
732
|
+
schema:
|
|
733
|
+
$ref: '#/components/schemas/Error'
|
|
734
|
+
examples:
|
|
735
|
+
invalid_revision_state:
|
|
736
|
+
value:
|
|
737
|
+
errors:
|
|
738
|
+
- message: Failed to perform operation. Revision is in an invalid state
|
|
739
|
+
code: invalid_revision_state
|
|
740
|
+
'401':
|
|
741
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
742
|
+
'404':
|
|
743
|
+
$ref: '#/components/responses/404-not-found'
|
|
744
|
+
/v1/integrations/{_id}/errors:
|
|
745
|
+
get:
|
|
746
|
+
x-internal: false
|
|
747
|
+
operationId: listIntegrationErrors
|
|
748
|
+
tags:
|
|
749
|
+
- Integrations
|
|
750
|
+
summary: Summarize open errors across an integration's flows
|
|
751
|
+
description: |-
|
|
752
|
+
Returns a per-flow count of currently open (unresolved) errors for every flow in the integration.
|
|
753
|
+
Flows with zero open errors still appear so callers see the full flow roster; `lastErrorAt` is
|
|
754
|
+
only populated when `numError > 0`. Entries do not contain individual error ids -- to get
|
|
755
|
+
actionable error records, drill into `GET /v1/flows/{_flowId}/{_stepId}/errors` for each flow
|
|
756
|
+
and step.
|
|
757
|
+
parameters:
|
|
758
|
+
- name: _id
|
|
759
|
+
in: path
|
|
760
|
+
required: true
|
|
761
|
+
description: Integration id.
|
|
762
|
+
schema:
|
|
763
|
+
type: string
|
|
764
|
+
format: objectId
|
|
765
|
+
x-celigo-refModel: integrations
|
|
766
|
+
examples:
|
|
767
|
+
- 6842261335b64c0bcb308e4f
|
|
768
|
+
responses:
|
|
769
|
+
'200':
|
|
770
|
+
description: Per-flow open-error summary.
|
|
771
|
+
content:
|
|
772
|
+
application/json:
|
|
773
|
+
schema:
|
|
774
|
+
$ref: '#/components/schemas/IntegrationErrorsResponse'
|
|
775
|
+
examples:
|
|
776
|
+
mixed:
|
|
777
|
+
summary: Integration with mixed flows (one with errors, two clean)
|
|
778
|
+
value:
|
|
779
|
+
- _flowId: 69497fc443fc1f9a03d31bd9
|
|
780
|
+
numError: 2
|
|
781
|
+
lastErrorAt: '2026-04-12T21:51:39.257Z'
|
|
782
|
+
- _flowId: 6949809c3f70c4486d2dae88
|
|
783
|
+
numError: 0
|
|
784
|
+
- _flowId: 683b8ef5774ae78d3b9b8a89
|
|
785
|
+
numError: 0
|
|
786
|
+
'204':
|
|
787
|
+
description: Integration has no flows with any reported error state.
|
|
788
|
+
'400':
|
|
789
|
+
$ref: '#/components/responses/400-bad-request'
|
|
790
|
+
'401':
|
|
791
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
792
|
+
'404':
|
|
793
|
+
$ref: '#/components/responses/404-not-found'
|
|
794
|
+
/v1/integrations/{_id}/errors/assign:
|
|
795
|
+
put:
|
|
796
|
+
x-internal: false
|
|
797
|
+
operationId: assignIntegrationErrors
|
|
798
|
+
tags:
|
|
799
|
+
- Integrations
|
|
800
|
+
summary: (Legacy) Assign open errors to a user across an integration
|
|
801
|
+
description: |-
|
|
802
|
+
Tags a batch of open errors with an assignee. Errors stay open; this does not resolve or retry
|
|
803
|
+
them. The `email` must resolve to a user with access to the account.
|
|
804
|
+
|
|
805
|
+
Prefer `PUT /v1/flows/{_flowId}/{_stepId}/errors/assign` instead -- it works with a plain
|
|
806
|
+
bearer token and requires no extra headers. This integration-level endpoint requires an
|
|
807
|
+
`integrator-ashareid` header, and account-owner PATs have no ashare pointing at themselves, so
|
|
808
|
+
they cannot call it directly.
|
|
809
|
+
parameters:
|
|
810
|
+
- name: integrator-ashareid
|
|
811
|
+
in: header
|
|
812
|
+
required: false
|
|
813
|
+
description: |-
|
|
814
|
+
Account-share id scoping the request to a specific shared-account context. Only accepted
|
|
815
|
+
when the bearer token's user is the `sharedWithUser` of that ashare. Not required by the
|
|
816
|
+
per-step fallback — prefer that endpoint instead.
|
|
817
|
+
schema:
|
|
818
|
+
type: string
|
|
819
|
+
format: objectId
|
|
820
|
+
examples:
|
|
821
|
+
- 6798f4dc43db9184f4bc8ee0
|
|
822
|
+
- name: _id
|
|
823
|
+
in: path
|
|
824
|
+
required: true
|
|
825
|
+
description: Integration id.
|
|
826
|
+
schema:
|
|
827
|
+
type: string
|
|
828
|
+
format: objectId
|
|
829
|
+
x-celigo-refModel: integrations
|
|
830
|
+
examples:
|
|
831
|
+
- 6842261335b64c0bcb308e4f
|
|
832
|
+
requestBody:
|
|
833
|
+
required: true
|
|
834
|
+
content:
|
|
835
|
+
application/json:
|
|
836
|
+
schema:
|
|
837
|
+
$ref: '#/components/schemas/IntegrationErrorsAssignRequest'
|
|
838
|
+
examples:
|
|
839
|
+
default:
|
|
840
|
+
value:
|
|
841
|
+
errorIds:
|
|
842
|
+
- '6044134138'
|
|
843
|
+
- '6027562904'
|
|
844
|
+
email: user@example.com
|
|
845
|
+
responses:
|
|
846
|
+
'200':
|
|
847
|
+
description: Errors assigned. Body echoes which ids were affected.
|
|
848
|
+
content:
|
|
849
|
+
application/json:
|
|
850
|
+
schema:
|
|
851
|
+
$ref: '#/components/schemas/IntegrationErrorsAssignResponse'
|
|
852
|
+
examples:
|
|
853
|
+
default:
|
|
854
|
+
value:
|
|
855
|
+
errorsToReturn:
|
|
856
|
+
- '6044134138'
|
|
857
|
+
'400':
|
|
858
|
+
$ref: '#/components/responses/400-bad-request'
|
|
859
|
+
'401':
|
|
860
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
861
|
+
'403':
|
|
862
|
+
description: |-
|
|
863
|
+
`integrator-ashareid` is malformed (not a 24-char hex id). Error code:
|
|
864
|
+
`invalid_header_value`.
|
|
865
|
+
content:
|
|
866
|
+
application/json:
|
|
867
|
+
schema:
|
|
868
|
+
$ref: '#/components/schemas/Error'
|
|
869
|
+
examples:
|
|
870
|
+
invalid_header_value:
|
|
871
|
+
value:
|
|
872
|
+
errors:
|
|
873
|
+
- code: invalid_header_value
|
|
874
|
+
message: The value provided for request header Integrator-AShareId is invalid.
|
|
875
|
+
'404':
|
|
876
|
+
description: |-
|
|
877
|
+
Either the integration is unknown, no `integrator-ashareid` was sent (code: `invalid_ref`,
|
|
878
|
+
message: "Integration not found."), or the header references a share whose `sharedWithUser`
|
|
879
|
+
isn't the bearer token's user (code: `access_restricted`).
|
|
880
|
+
content:
|
|
881
|
+
application/json:
|
|
882
|
+
schema:
|
|
883
|
+
$ref: '#/components/schemas/Error'
|
|
884
|
+
examples:
|
|
885
|
+
invalid_ref:
|
|
886
|
+
summary: No ashare header sent
|
|
887
|
+
value:
|
|
888
|
+
errors:
|
|
889
|
+
- code: invalid_ref
|
|
890
|
+
message: Integration not found.
|
|
891
|
+
/v1/integrations/{_id}/clonefamily:
|
|
892
|
+
get:
|
|
893
|
+
x-internal: false
|
|
894
|
+
operationId: listIntegrationCloneFamily
|
|
895
|
+
tags:
|
|
896
|
+
- Integrations
|
|
897
|
+
summary: List an integration's clone family
|
|
898
|
+
description: |-
|
|
899
|
+
Returns every member of the integration's clone family -- the original plus every clone
|
|
900
|
+
(recursively, across environments). Used by ILM to decide which integrations can be pull/push
|
|
901
|
+
sources or targets for the current integration.
|
|
902
|
+
|
|
903
|
+
This endpoint requires the `integrator-ashareid` header to establish a shared-account context.
|
|
904
|
+
For simpler clone-relationship lookups, the integration's own `_sourceId` field points to the
|
|
905
|
+
parent it was cloned from, and `GET /v1/integrations?_sourceId=<id>` lists the children.
|
|
906
|
+
parameters:
|
|
907
|
+
- name: integrator-ashareid
|
|
908
|
+
in: header
|
|
909
|
+
required: true
|
|
910
|
+
description: |-
|
|
911
|
+
Account-share id that scopes the request to a specific shared-account context. The bearer
|
|
912
|
+
token's user must be the `sharedWithUser` of this ashare.
|
|
913
|
+
schema:
|
|
914
|
+
type: string
|
|
915
|
+
format: objectId
|
|
916
|
+
examples:
|
|
917
|
+
- 6798f4dc43db9184f4bc8ee0
|
|
918
|
+
- name: _id
|
|
919
|
+
in: path
|
|
920
|
+
required: true
|
|
921
|
+
description: Integration id.
|
|
922
|
+
schema:
|
|
923
|
+
type: string
|
|
924
|
+
format: objectId
|
|
925
|
+
x-celigo-refModel: integrations
|
|
926
|
+
examples:
|
|
927
|
+
- 6842261335b64c0bcb308e4f
|
|
928
|
+
responses:
|
|
929
|
+
'200':
|
|
930
|
+
description: Clone family members.
|
|
931
|
+
content:
|
|
932
|
+
application/json:
|
|
933
|
+
schema:
|
|
934
|
+
$ref: '#/components/schemas/CloneFamilyResponse'
|
|
935
|
+
examples:
|
|
936
|
+
family:
|
|
937
|
+
summary: Original integration plus one clone in another environment
|
|
938
|
+
value:
|
|
939
|
+
- _id: 6842261335b64c0bcb308e4f
|
|
940
|
+
name: Shopify → NetSuite Orders
|
|
941
|
+
- _id: 68f52162f00a35a1b26eaafb
|
|
942
|
+
name: Clone - Shopify → NetSuite Orders
|
|
943
|
+
_envId: 67b123456789abcdef012345
|
|
944
|
+
'401':
|
|
945
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
946
|
+
'403':
|
|
947
|
+
description: |-
|
|
948
|
+
Either the `integrator-ashareid` header is malformed (code: `invalid_header_value`) or it
|
|
949
|
+
was omitted entirely (code: `get_not_allowed`, "GET resource not allowed for the given
|
|
950
|
+
model.").
|
|
951
|
+
content:
|
|
952
|
+
application/json:
|
|
953
|
+
schema:
|
|
954
|
+
$ref: '#/components/schemas/Error'
|
|
955
|
+
examples:
|
|
956
|
+
get_not_allowed:
|
|
957
|
+
summary: Header omitted entirely
|
|
958
|
+
value:
|
|
959
|
+
errors:
|
|
960
|
+
- code: get_not_allowed
|
|
961
|
+
message: GET resource not allowed for the given model.
|
|
962
|
+
invalid_header_value:
|
|
963
|
+
summary: Header malformed (not a 24-char hex id)
|
|
964
|
+
value:
|
|
965
|
+
errors:
|
|
966
|
+
- code: invalid_header_value
|
|
967
|
+
message: The value provided for request header Integrator-AShareId is invalid.
|
|
968
|
+
'404':
|
|
969
|
+
description: |-
|
|
970
|
+
Integration unknown, or the `integrator-ashareid` references a share whose `sharedWithUser`
|
|
971
|
+
isn't the bearer token's user (code: `access_restricted`).
|
|
972
|
+
content:
|
|
973
|
+
application/json:
|
|
974
|
+
schema:
|
|
975
|
+
$ref: '#/components/schemas/Error'
|
|
976
|
+
examples:
|
|
977
|
+
access_restricted:
|
|
978
|
+
value:
|
|
979
|
+
errors:
|
|
980
|
+
- code: access_restricted
|
|
981
|
+
message: Your access to an integrator.io environment or account has been disabled. For more information, contact account administrator.
|
|
982
|
+
/v1/integrations/{_id}/flows:
|
|
983
|
+
get:
|
|
984
|
+
x-internal: false
|
|
985
|
+
operationId: listIntegrationFlows
|
|
986
|
+
tags:
|
|
987
|
+
- Integrations
|
|
988
|
+
summary: List flows belonging to an integration
|
|
989
|
+
description: |-
|
|
990
|
+
Returns a bare array of full flow objects for every flow in the integration. Each element
|
|
991
|
+
is a complete flow resource, the same shape as `GET /v1/flows/{_id}`.
|
|
992
|
+
parameters:
|
|
993
|
+
- name: _id
|
|
994
|
+
in: path
|
|
995
|
+
required: true
|
|
996
|
+
description: Integration id.
|
|
997
|
+
schema:
|
|
998
|
+
type: string
|
|
999
|
+
format: objectId
|
|
1000
|
+
x-celigo-refModel: integrations
|
|
1001
|
+
examples:
|
|
1002
|
+
- 6842261335b64c0bcb308e4f
|
|
1003
|
+
- name: limit
|
|
1004
|
+
in: query
|
|
1005
|
+
required: false
|
|
1006
|
+
description: Maximum number of flow objects to return.
|
|
1007
|
+
schema:
|
|
1008
|
+
type: integer
|
|
1009
|
+
minimum: 1
|
|
1010
|
+
examples:
|
|
1011
|
+
- 100
|
|
1012
|
+
- name: includeInstances
|
|
1013
|
+
in: query
|
|
1014
|
+
required: false
|
|
1015
|
+
description: |-
|
|
1016
|
+
When true, instance flows generated from abstract (multi-instance)
|
|
1017
|
+
flows are included in the results, which otherwise list only
|
|
1018
|
+
regular and abstract flows.
|
|
1019
|
+
schema:
|
|
1020
|
+
type: boolean
|
|
1021
|
+
responses:
|
|
1022
|
+
'200':
|
|
1023
|
+
description: Array of flow objects.
|
|
1024
|
+
content:
|
|
1025
|
+
application/json:
|
|
1026
|
+
schema:
|
|
1027
|
+
type: array
|
|
1028
|
+
description: Bare array of full flow resource objects.
|
|
1029
|
+
items:
|
|
1030
|
+
type: object
|
|
1031
|
+
description: A flow resource. Same shape as returned by `GET /v1/flows/{_id}`.
|
|
1032
|
+
examples:
|
|
1033
|
+
one_flow:
|
|
1034
|
+
summary: Integration with one flow
|
|
1035
|
+
value:
|
|
1036
|
+
- _id: 69f54d6b7009ea11abad707a
|
|
1037
|
+
name: Shopify orders → NetSuite
|
|
1038
|
+
_integrationId: 6842261335b64c0bcb308e4f
|
|
1039
|
+
disabled: false
|
|
1040
|
+
pageGenerators:
|
|
1041
|
+
- _exportId: 69f54d6a3469e3f5597848a1
|
|
1042
|
+
pageProcessors:
|
|
1043
|
+
- type: import
|
|
1044
|
+
_importId: 69f54d6c1e7f3a22cc7848b2
|
|
1045
|
+
createdAt: '2026-05-02T01:03:39.871Z'
|
|
1046
|
+
lastModified: '2026-05-02T01:03:39.871Z'
|
|
1047
|
+
'204':
|
|
1048
|
+
description: Integration has no flows.
|
|
1049
|
+
'401':
|
|
1050
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1051
|
+
'404':
|
|
1052
|
+
$ref: '#/components/responses/404-not-found'
|
|
1053
|
+
/v1/integrations/{_id}/imports:
|
|
1054
|
+
get:
|
|
1055
|
+
x-internal: false
|
|
1056
|
+
operationId: listIntegrationImports
|
|
1057
|
+
tags:
|
|
1058
|
+
- Integrations
|
|
1059
|
+
summary: List imports belonging to an integration
|
|
1060
|
+
description: |-
|
|
1061
|
+
Returns a bare array of full import objects for every import in the integration. Each element
|
|
1062
|
+
is a complete import resource, the same shape as `GET /v1/imports/{_id}`.
|
|
1063
|
+
parameters:
|
|
1064
|
+
- name: _id
|
|
1065
|
+
in: path
|
|
1066
|
+
required: true
|
|
1067
|
+
description: Integration id.
|
|
1068
|
+
schema:
|
|
1069
|
+
type: string
|
|
1070
|
+
format: objectId
|
|
1071
|
+
x-celigo-refModel: integrations
|
|
1072
|
+
examples:
|
|
1073
|
+
- 6842261335b64c0bcb308e4f
|
|
1074
|
+
- name: limit
|
|
1075
|
+
in: query
|
|
1076
|
+
required: false
|
|
1077
|
+
description: |-
|
|
1078
|
+
Maximum number of import objects to return. **Bug:** the server returns N+1 items for a
|
|
1079
|
+
`limit=N` value.
|
|
1080
|
+
schema:
|
|
1081
|
+
type: integer
|
|
1082
|
+
minimum: 1
|
|
1083
|
+
examples:
|
|
1084
|
+
- 100
|
|
1085
|
+
responses:
|
|
1086
|
+
'200':
|
|
1087
|
+
description: Array of import objects.
|
|
1088
|
+
content:
|
|
1089
|
+
application/json:
|
|
1090
|
+
schema:
|
|
1091
|
+
type: array
|
|
1092
|
+
description: Bare array of full import resource objects.
|
|
1093
|
+
items:
|
|
1094
|
+
type: object
|
|
1095
|
+
description: An import resource. Same shape as returned by `GET /v1/imports/{_id}`.
|
|
1096
|
+
examples:
|
|
1097
|
+
one_import:
|
|
1098
|
+
summary: Integration with one import
|
|
1099
|
+
value:
|
|
1100
|
+
- _id: 69f54d6c1e7f3a22cc7848b2
|
|
1101
|
+
name: NetSuite sales orders
|
|
1102
|
+
_connectionId: 6553ebdeda62bb22e7fa81ff
|
|
1103
|
+
adaptorType: NetSuiteDistributedImport
|
|
1104
|
+
distributed: true
|
|
1105
|
+
netsuite_da:
|
|
1106
|
+
recordType: salesorder
|
|
1107
|
+
operation: add
|
|
1108
|
+
createdAt: '2026-05-02T01:03:40.027Z'
|
|
1109
|
+
lastModified: '2026-05-02T01:03:40.027Z'
|
|
1110
|
+
'204':
|
|
1111
|
+
description: Integration has no imports.
|
|
1112
|
+
'401':
|
|
1113
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1114
|
+
'404':
|
|
1115
|
+
$ref: '#/components/responses/404-not-found'
|
|
1116
|
+
/v1/integrations/{_id}/exports:
|
|
1117
|
+
get:
|
|
1118
|
+
x-internal: false
|
|
1119
|
+
operationId: listIntegrationExports
|
|
1120
|
+
tags:
|
|
1121
|
+
- Integrations
|
|
1122
|
+
summary: List exports belonging to an integration
|
|
1123
|
+
description: |-
|
|
1124
|
+
Returns a bare array of full export objects for every export in the integration. Each element
|
|
1125
|
+
is a complete export resource, the same shape as `GET /v1/exports/{_id}`.
|
|
1126
|
+
parameters:
|
|
1127
|
+
- name: _id
|
|
1128
|
+
in: path
|
|
1129
|
+
required: true
|
|
1130
|
+
description: Integration id.
|
|
1131
|
+
schema:
|
|
1132
|
+
type: string
|
|
1133
|
+
format: objectId
|
|
1134
|
+
x-celigo-refModel: integrations
|
|
1135
|
+
examples:
|
|
1136
|
+
- 6842261335b64c0bcb308e4f
|
|
1137
|
+
- name: limit
|
|
1138
|
+
in: query
|
|
1139
|
+
required: false
|
|
1140
|
+
description: |-
|
|
1141
|
+
Maximum number of export objects to return. **Bug:** the server returns N+1 items for a
|
|
1142
|
+
`limit=N` value.
|
|
1143
|
+
schema:
|
|
1144
|
+
type: integer
|
|
1145
|
+
minimum: 1
|
|
1146
|
+
examples:
|
|
1147
|
+
- 100
|
|
1148
|
+
responses:
|
|
1149
|
+
'200':
|
|
1150
|
+
description: Array of export objects.
|
|
1151
|
+
content:
|
|
1152
|
+
application/json:
|
|
1153
|
+
schema:
|
|
1154
|
+
type: array
|
|
1155
|
+
description: Bare array of full export resource objects.
|
|
1156
|
+
items:
|
|
1157
|
+
type: object
|
|
1158
|
+
description: An export resource. Same shape as returned by `GET /v1/exports/{_id}`.
|
|
1159
|
+
examples:
|
|
1160
|
+
one_export:
|
|
1161
|
+
summary: Integration with one export
|
|
1162
|
+
value:
|
|
1163
|
+
- _id: 69f54d6a3469e3f5597848a1
|
|
1164
|
+
name: Shopify new orders
|
|
1165
|
+
_connectionId: 626168f90b6ef816b50c82d7
|
|
1166
|
+
adaptorType: HTTPExport
|
|
1167
|
+
http:
|
|
1168
|
+
relativeURI: /admin/api/2024-04/orders.json
|
|
1169
|
+
method: GET
|
|
1170
|
+
createdAt: '2026-05-02T01:03:38.214Z'
|
|
1171
|
+
lastModified: '2026-05-02T01:03:38.214Z'
|
|
1172
|
+
'204':
|
|
1173
|
+
description: Integration has no exports.
|
|
1174
|
+
'401':
|
|
1175
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1176
|
+
'404':
|
|
1177
|
+
$ref: '#/components/responses/404-not-found'
|
|
1178
|
+
/v1/integrations/{_id}/connections:
|
|
1179
|
+
get:
|
|
1180
|
+
x-internal: false
|
|
1181
|
+
operationId: listIntegrationConnections
|
|
1182
|
+
tags:
|
|
1183
|
+
- Integrations
|
|
1184
|
+
summary: List connections belonging to an integration
|
|
1185
|
+
description: |-
|
|
1186
|
+
Returns a bare array of full connection objects for every connection registered to the
|
|
1187
|
+
integration. Each element is a complete connection resource, the same shape as
|
|
1188
|
+
`GET /v1/connections/{_id}`. Unlike the flows/imports/exports sub-resource endpoints, this
|
|
1189
|
+
endpoint rejects unknown integration ids with a 404.
|
|
1190
|
+
parameters:
|
|
1191
|
+
- name: _id
|
|
1192
|
+
in: path
|
|
1193
|
+
required: true
|
|
1194
|
+
description: Integration id.
|
|
1195
|
+
schema:
|
|
1196
|
+
type: string
|
|
1197
|
+
format: objectId
|
|
1198
|
+
x-celigo-refModel: integrations
|
|
1199
|
+
examples:
|
|
1200
|
+
- 6842261335b64c0bcb308e4f
|
|
1201
|
+
- name: limit
|
|
1202
|
+
in: query
|
|
1203
|
+
required: false
|
|
1204
|
+
description: Maximum number of connection objects to return.
|
|
1205
|
+
schema:
|
|
1206
|
+
type: integer
|
|
1207
|
+
minimum: 1
|
|
1208
|
+
examples:
|
|
1209
|
+
- 100
|
|
1210
|
+
responses:
|
|
1211
|
+
'200':
|
|
1212
|
+
description: Array of connection objects.
|
|
1213
|
+
content:
|
|
1214
|
+
application/json:
|
|
1215
|
+
schema:
|
|
1216
|
+
type: array
|
|
1217
|
+
description: Bare array of full connection resource objects.
|
|
1218
|
+
items:
|
|
1219
|
+
type: object
|
|
1220
|
+
description: A connection resource. Same shape as returned by `GET /v1/connections/{_id}`.
|
|
1221
|
+
examples:
|
|
1222
|
+
one_connection:
|
|
1223
|
+
summary: Integration with one registered connection
|
|
1224
|
+
value:
|
|
1225
|
+
- _id: 626168f90b6ef816b50c82d7
|
|
1226
|
+
name: Shopify storefront
|
|
1227
|
+
type: http
|
|
1228
|
+
sandbox: false
|
|
1229
|
+
http:
|
|
1230
|
+
formType: rest
|
|
1231
|
+
mediaType: json
|
|
1232
|
+
baseURI: https://celigo-demo.myshopify.com
|
|
1233
|
+
auth:
|
|
1234
|
+
type: basic
|
|
1235
|
+
createdAt: '2022-04-21T14:23:53.118Z'
|
|
1236
|
+
lastModified: '2026-05-02T01:02:27.378Z'
|
|
1237
|
+
'204':
|
|
1238
|
+
description: Integration has no connections.
|
|
1239
|
+
'401':
|
|
1240
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1241
|
+
'404':
|
|
1242
|
+
$ref: '#/components/responses/404-not-found'
|
|
1243
|
+
/v1/integrations/{_id}/asynchelpers:
|
|
1244
|
+
get:
|
|
1245
|
+
x-internal: false
|
|
1246
|
+
operationId: listIntegrationAsyncHelpers
|
|
1247
|
+
tags:
|
|
1248
|
+
- Integrations
|
|
1249
|
+
summary: List async helpers belonging to an integration
|
|
1250
|
+
description: |-
|
|
1251
|
+
Returns a bare array of async-helper objects for every async helper registered to the
|
|
1252
|
+
integration. Each element is a complete async-helper resource, the same shape as
|
|
1253
|
+
`GET /v1/asynchelpers/{_id}`.
|
|
1254
|
+
parameters:
|
|
1255
|
+
- name: _id
|
|
1256
|
+
in: path
|
|
1257
|
+
required: true
|
|
1258
|
+
description: Integration id.
|
|
1259
|
+
schema:
|
|
1260
|
+
type: string
|
|
1261
|
+
format: objectId
|
|
1262
|
+
x-celigo-refModel: integrations
|
|
1263
|
+
examples:
|
|
1264
|
+
- 6842261335b64c0bcb308e4f
|
|
1265
|
+
responses:
|
|
1266
|
+
'200':
|
|
1267
|
+
description: Array of async-helper objects.
|
|
1268
|
+
content:
|
|
1269
|
+
application/json:
|
|
1270
|
+
schema:
|
|
1271
|
+
type: array
|
|
1272
|
+
description: Bare array of full async-helper resource objects.
|
|
1273
|
+
items:
|
|
1274
|
+
type: object
|
|
1275
|
+
description: An async-helper resource. Same shape as returned by `GET /v1/asynchelpers/{_id}`.
|
|
1276
|
+
examples:
|
|
1277
|
+
one_helper:
|
|
1278
|
+
summary: Integration with one async helper
|
|
1279
|
+
value:
|
|
1280
|
+
- _id: 64a1b2c3d4e5f60011223344
|
|
1281
|
+
name: Salesforce Bulk Query Helper
|
|
1282
|
+
http:
|
|
1283
|
+
submit:
|
|
1284
|
+
sameAsStatus: true
|
|
1285
|
+
status:
|
|
1286
|
+
_exportId: 63b1c2d3e4f5a60011334455
|
|
1287
|
+
statusPath: status
|
|
1288
|
+
initialWaitTime: 1
|
|
1289
|
+
pollWaitTime: 4
|
|
1290
|
+
lastModified: '2026-04-15T14:30:15Z'
|
|
1291
|
+
'204':
|
|
1292
|
+
description: Integration has no async helpers.
|
|
1293
|
+
'401':
|
|
1294
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1295
|
+
'404':
|
|
1296
|
+
$ref: '#/components/responses/404-not-found'
|
|
1297
|
+
/v1/integrations/{_id}/ashares:
|
|
1298
|
+
get:
|
|
1299
|
+
x-internal: false
|
|
1300
|
+
operationId: listIntegrationAshares
|
|
1301
|
+
tags:
|
|
1302
|
+
- Integrations
|
|
1303
|
+
summary: List account shares for an integration
|
|
1304
|
+
description: |-
|
|
1305
|
+
Returns an array of account-share (ashare) objects for the integration. Each entry describes a
|
|
1306
|
+
user who has been granted access to the integration's owning account, along with their access
|
|
1307
|
+
level and authentication metadata. Unlike other integration sub-resource list endpoints, this
|
|
1308
|
+
always returns an array (an integration with no shares returns `[]`).
|
|
1309
|
+
parameters:
|
|
1310
|
+
- name: _id
|
|
1311
|
+
in: path
|
|
1312
|
+
required: true
|
|
1313
|
+
description: Integration id.
|
|
1314
|
+
schema:
|
|
1315
|
+
type: string
|
|
1316
|
+
format: objectId
|
|
1317
|
+
x-celigo-refModel: integrations
|
|
1318
|
+
examples:
|
|
1319
|
+
- 6842261335b64c0bcb308e4f
|
|
1320
|
+
responses:
|
|
1321
|
+
'200':
|
|
1322
|
+
description: Array of account-share objects.
|
|
1323
|
+
content:
|
|
1324
|
+
application/json:
|
|
1325
|
+
schema:
|
|
1326
|
+
type: array
|
|
1327
|
+
description: Account shares scoped to the integration.
|
|
1328
|
+
items:
|
|
1329
|
+
type: object
|
|
1330
|
+
properties:
|
|
1331
|
+
_id:
|
|
1332
|
+
type: string
|
|
1333
|
+
format: objectId
|
|
1334
|
+
description: Ashare id.
|
|
1335
|
+
examples:
|
|
1336
|
+
- 6798f4dc43db9184f4bc8ee0
|
|
1337
|
+
accepted:
|
|
1338
|
+
type: boolean
|
|
1339
|
+
description: When true, the shared user has accepted the invitation.
|
|
1340
|
+
accessLevel:
|
|
1341
|
+
type: string
|
|
1342
|
+
description: Access level granted to the user (e.g. `administrator`, `manage`, `monitor`).
|
|
1343
|
+
examples:
|
|
1344
|
+
- administrator
|
|
1345
|
+
accountSSORequired:
|
|
1346
|
+
type: boolean
|
|
1347
|
+
description: When true, the account requires SSO for this user.
|
|
1348
|
+
accountMFARequired:
|
|
1349
|
+
type: boolean
|
|
1350
|
+
description: When true, the account requires MFA for this user.
|
|
1351
|
+
createdAt:
|
|
1352
|
+
type: string
|
|
1353
|
+
format: date-time
|
|
1354
|
+
examples:
|
|
1355
|
+
- '2025-01-28T15:16:44.327Z'
|
|
1356
|
+
lastModified:
|
|
1357
|
+
type: string
|
|
1358
|
+
format: date-time
|
|
1359
|
+
examples:
|
|
1360
|
+
- '2026-05-02T17:02:59.371Z'
|
|
1361
|
+
lastSignIn:
|
|
1362
|
+
type: string
|
|
1363
|
+
format: date-time
|
|
1364
|
+
examples:
|
|
1365
|
+
- '2026-05-02T17:02:59.370Z'
|
|
1366
|
+
isProductionAdmin:
|
|
1367
|
+
type: boolean
|
|
1368
|
+
sharedWithUser:
|
|
1369
|
+
type: object
|
|
1370
|
+
description: The user this share was granted to.
|
|
1371
|
+
properties:
|
|
1372
|
+
_id:
|
|
1373
|
+
type: string
|
|
1374
|
+
format: objectId
|
|
1375
|
+
examples:
|
|
1376
|
+
- 624774a6a7574d3ed9f9a5cc
|
|
1377
|
+
email:
|
|
1378
|
+
type: string
|
|
1379
|
+
format: email
|
|
1380
|
+
examples:
|
|
1381
|
+
- admin@example.com
|
|
1382
|
+
name:
|
|
1383
|
+
type: string
|
|
1384
|
+
examples:
|
|
1385
|
+
- Account Admin
|
|
1386
|
+
lastSignIn:
|
|
1387
|
+
type: string
|
|
1388
|
+
format: date-time
|
|
1389
|
+
examples:
|
|
1390
|
+
- '2026-05-02T17:02:59.370Z'
|
|
1391
|
+
allowedToResetMFA:
|
|
1392
|
+
type: boolean
|
|
1393
|
+
accountSSOLinked:
|
|
1394
|
+
type: boolean
|
|
1395
|
+
examples:
|
|
1396
|
+
two_shares:
|
|
1397
|
+
summary: Two users with access to the integration's account
|
|
1398
|
+
value:
|
|
1399
|
+
- _id: 6798f4dc43db9184f4bc8ee0
|
|
1400
|
+
accepted: true
|
|
1401
|
+
accessLevel: administrator
|
|
1402
|
+
accountSSORequired: false
|
|
1403
|
+
accountMFARequired: false
|
|
1404
|
+
isProductionAdmin: true
|
|
1405
|
+
createdAt: '2025-01-28T15:16:44.327Z'
|
|
1406
|
+
lastModified: '2026-05-02T17:02:59.371Z'
|
|
1407
|
+
lastSignIn: '2026-05-02T17:02:59.370Z'
|
|
1408
|
+
sharedWithUser:
|
|
1409
|
+
_id: 624774a6a7574d3ed9f9a5cc
|
|
1410
|
+
email: admin@example.com
|
|
1411
|
+
name: Account Admin
|
|
1412
|
+
allowedToResetMFA: false
|
|
1413
|
+
- _id: 690954729ef09ab572f65e5d
|
|
1414
|
+
accepted: true
|
|
1415
|
+
accessLevel: monitor
|
|
1416
|
+
accountSSORequired: false
|
|
1417
|
+
accountMFARequired: false
|
|
1418
|
+
createdAt: '2025-11-04T01:18:42.025Z'
|
|
1419
|
+
lastModified: '2026-04-09T18:48:15.653Z'
|
|
1420
|
+
sharedWithUser:
|
|
1421
|
+
_id: 69095422a6fa76e8c7c170eb
|
|
1422
|
+
email: contributor@example.com
|
|
1423
|
+
name: Integration User
|
|
1424
|
+
allowedToResetMFA: false
|
|
1425
|
+
'401':
|
|
1426
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1427
|
+
'404':
|
|
1428
|
+
$ref: '#/components/responses/404-not-found'
|
|
1429
|
+
/v1/integrations/{_id}/connections/{_connectionId}/register:
|
|
1430
|
+
put:
|
|
1431
|
+
x-internal: false
|
|
1432
|
+
operationId: registerConnectionToIntegration
|
|
1433
|
+
tags:
|
|
1434
|
+
- Integrations
|
|
1435
|
+
summary: Register a connection to an integration (by path)
|
|
1436
|
+
description: |-
|
|
1437
|
+
Registers a single connection to the integration by specifying the connection id in the URL
|
|
1438
|
+
path. No request body is needed. To unregister, use `DELETE` on the same path. Alternatively,
|
|
1439
|
+
use `PUT /v1/integrations/{_id}/connections/register` to register by request body.
|
|
1440
|
+
parameters:
|
|
1441
|
+
- name: _id
|
|
1442
|
+
in: path
|
|
1443
|
+
required: true
|
|
1444
|
+
description: Integration id.
|
|
1445
|
+
schema:
|
|
1446
|
+
type: string
|
|
1447
|
+
format: objectId
|
|
1448
|
+
x-celigo-refModel: integrations
|
|
1449
|
+
examples:
|
|
1450
|
+
- 6842261335b64c0bcb308e4f
|
|
1451
|
+
- name: _connectionId
|
|
1452
|
+
in: path
|
|
1453
|
+
required: true
|
|
1454
|
+
description: Connection id to register.
|
|
1455
|
+
schema:
|
|
1456
|
+
type: string
|
|
1457
|
+
format: objectId
|
|
1458
|
+
x-celigo-refModel: connections
|
|
1459
|
+
examples:
|
|
1460
|
+
- 626168f90b6ef816b50c82d7
|
|
1461
|
+
responses:
|
|
1462
|
+
'204':
|
|
1463
|
+
description: Connection registered successfully. No body returned.
|
|
1464
|
+
'401':
|
|
1465
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1466
|
+
'404':
|
|
1467
|
+
$ref: '#/components/responses/404-not-found'
|
|
1468
|
+
delete:
|
|
1469
|
+
x-internal: false
|
|
1470
|
+
operationId: unregisterConnectionFromIntegration
|
|
1471
|
+
tags:
|
|
1472
|
+
- Integrations
|
|
1473
|
+
summary: Unregister a connection from an integration
|
|
1474
|
+
description: |-
|
|
1475
|
+
Removes a connection's registration from the integration. This does not delete the connection
|
|
1476
|
+
itself -- it only removes it from the integration's registered-connections list.
|
|
1477
|
+
parameters:
|
|
1478
|
+
- name: _id
|
|
1479
|
+
in: path
|
|
1480
|
+
required: true
|
|
1481
|
+
description: Integration id.
|
|
1482
|
+
schema:
|
|
1483
|
+
type: string
|
|
1484
|
+
format: objectId
|
|
1485
|
+
x-celigo-refModel: integrations
|
|
1486
|
+
examples:
|
|
1487
|
+
- 6842261335b64c0bcb308e4f
|
|
1488
|
+
- name: _connectionId
|
|
1489
|
+
in: path
|
|
1490
|
+
required: true
|
|
1491
|
+
description: Connection id to unregister.
|
|
1492
|
+
schema:
|
|
1493
|
+
type: string
|
|
1494
|
+
format: objectId
|
|
1495
|
+
x-celigo-refModel: connections
|
|
1496
|
+
examples:
|
|
1497
|
+
- 626168f90b6ef816b50c82d7
|
|
1498
|
+
responses:
|
|
1499
|
+
'204':
|
|
1500
|
+
description: Connection unregistered successfully. No body returned.
|
|
1501
|
+
'401':
|
|
1502
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1503
|
+
'404':
|
|
1504
|
+
$ref: '#/components/responses/404-not-found'
|
|
1505
|
+
/v1/integrations/{_id}/connections/register:
|
|
1506
|
+
put:
|
|
1507
|
+
x-internal: false
|
|
1508
|
+
operationId: registerConnectionToIntegrationByBody
|
|
1509
|
+
tags:
|
|
1510
|
+
- Integrations
|
|
1511
|
+
summary: Register a connection to an integration (by body)
|
|
1512
|
+
description: |-
|
|
1513
|
+
Registers a single connection to the integration by passing the connection id in the request
|
|
1514
|
+
body. Alternatively, use `PUT /v1/integrations/{_id}/connections/{_connectionId}/register` to
|
|
1515
|
+
register by path parameter.
|
|
1516
|
+
parameters:
|
|
1517
|
+
- name: _id
|
|
1518
|
+
in: path
|
|
1519
|
+
required: true
|
|
1520
|
+
description: Integration id.
|
|
1521
|
+
schema:
|
|
1522
|
+
type: string
|
|
1523
|
+
format: objectId
|
|
1524
|
+
x-celigo-refModel: integrations
|
|
1525
|
+
examples:
|
|
1526
|
+
- 6842261335b64c0bcb308e4f
|
|
1527
|
+
requestBody:
|
|
1528
|
+
required: true
|
|
1529
|
+
content:
|
|
1530
|
+
application/json:
|
|
1531
|
+
schema:
|
|
1532
|
+
type: object
|
|
1533
|
+
required:
|
|
1534
|
+
- _connectionId
|
|
1535
|
+
properties:
|
|
1536
|
+
_connectionId:
|
|
1537
|
+
type: string
|
|
1538
|
+
format: objectId
|
|
1539
|
+
x-celigo-refModel: connections
|
|
1540
|
+
examples:
|
|
1541
|
+
- 626168f90b6ef816b50c82d7
|
|
1542
|
+
description: The id of the connection to register.
|
|
1543
|
+
examples:
|
|
1544
|
+
default:
|
|
1545
|
+
value:
|
|
1546
|
+
_connectionId: 69680d7111d1437fbcbce534
|
|
1547
|
+
responses:
|
|
1548
|
+
'204':
|
|
1549
|
+
description: Connection registered successfully. No body returned.
|
|
1550
|
+
'401':
|
|
1551
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1552
|
+
'404':
|
|
1553
|
+
$ref: '#/components/responses/404-not-found'
|
|
1554
|
+
/v1/integrations/{_id}/lookupcaches/{_lookupCacheId}/register:
|
|
1555
|
+
put:
|
|
1556
|
+
x-internal: false
|
|
1557
|
+
operationId: registerLookupCacheToIntegration
|
|
1558
|
+
tags:
|
|
1559
|
+
- Integrations
|
|
1560
|
+
summary: Register a lookup cache to an integration (by path)
|
|
1561
|
+
description: |-
|
|
1562
|
+
Registers a single lookup cache to the integration by specifying the
|
|
1563
|
+
lookup cache id in the URL path. No request body is needed. To
|
|
1564
|
+
unregister, use `DELETE` on the same path. Alternatively, use
|
|
1565
|
+
`PUT /v1/integrations/{_id}/lookupcaches/register` to register several
|
|
1566
|
+
caches at once by request body.
|
|
1567
|
+
|
|
1568
|
+
Registration also adds an entry to the integration's `aliases[]` when the
|
|
1569
|
+
cache does not already have one: `alias` is a slug of the cache name
|
|
1570
|
+
(lowercased, whitespace and special characters stripped, `_2`/`_3`/…
|
|
1571
|
+
appended on collision) and `_lookupCacheId` points at the cache. Scripts
|
|
1572
|
+
and hooks use the alias as a stable handle for the cache, and
|
|
1573
|
+
deregistering the cache is blocked until the alias is removed.
|
|
1574
|
+
parameters:
|
|
1575
|
+
- name: _id
|
|
1576
|
+
in: path
|
|
1577
|
+
required: true
|
|
1578
|
+
description: Integration id.
|
|
1579
|
+
schema:
|
|
1580
|
+
type: string
|
|
1581
|
+
format: objectId
|
|
1582
|
+
x-celigo-refModel: integrations
|
|
1583
|
+
examples:
|
|
1584
|
+
- 6842261335b64c0bcb308e4f
|
|
1585
|
+
- name: _lookupCacheId
|
|
1586
|
+
in: path
|
|
1587
|
+
required: true
|
|
1588
|
+
description: Lookup cache id to register.
|
|
1589
|
+
schema:
|
|
1590
|
+
type: string
|
|
1591
|
+
format: objectId
|
|
1592
|
+
x-celigo-refModel: lookupcaches
|
|
1593
|
+
examples:
|
|
1594
|
+
- 68680d7111d1437fbcbce534
|
|
1595
|
+
responses:
|
|
1596
|
+
'204':
|
|
1597
|
+
description: Lookup cache registered successfully. No body returned.
|
|
1598
|
+
'401':
|
|
1599
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1600
|
+
'404':
|
|
1601
|
+
$ref: '#/components/responses/404-not-found'
|
|
1602
|
+
delete:
|
|
1603
|
+
x-internal: false
|
|
1604
|
+
operationId: unregisterLookupCacheFromIntegration
|
|
1605
|
+
tags:
|
|
1606
|
+
- Integrations
|
|
1607
|
+
summary: Unregister a lookup cache from an integration
|
|
1608
|
+
description: |-
|
|
1609
|
+
Removes a lookup cache's registration from the integration. This does
|
|
1610
|
+
not delete the lookup cache itself — it only removes it from the
|
|
1611
|
+
integration's `_registeredLookupCacheIds` list. Fails when the cache is
|
|
1612
|
+
not registered on the integration, when a flow step in the integration
|
|
1613
|
+
still references it, or when an alias on the integration (or one of its
|
|
1614
|
+
flows) still points at it — including the alias that registration itself
|
|
1615
|
+
created. Remove the flow-step references and the alias (update the
|
|
1616
|
+
`aliases` array on the integration or flow) first, then retry.
|
|
1617
|
+
parameters:
|
|
1618
|
+
- name: _id
|
|
1619
|
+
in: path
|
|
1620
|
+
required: true
|
|
1621
|
+
description: Integration id.
|
|
1622
|
+
schema:
|
|
1623
|
+
type: string
|
|
1624
|
+
format: objectId
|
|
1625
|
+
x-celigo-refModel: integrations
|
|
1626
|
+
examples:
|
|
1627
|
+
- 6842261335b64c0bcb308e4f
|
|
1628
|
+
- name: _lookupCacheId
|
|
1629
|
+
in: path
|
|
1630
|
+
required: true
|
|
1631
|
+
description: Lookup cache id to unregister.
|
|
1632
|
+
schema:
|
|
1633
|
+
type: string
|
|
1634
|
+
format: objectId
|
|
1635
|
+
x-celigo-refModel: lookupcaches
|
|
1636
|
+
examples:
|
|
1637
|
+
- 68680d7111d1437fbcbce534
|
|
1638
|
+
responses:
|
|
1639
|
+
'204':
|
|
1640
|
+
description: Lookup cache unregistered successfully. No body returned.
|
|
1641
|
+
'400':
|
|
1642
|
+
description: |-
|
|
1643
|
+
The cache is not registered on this integration ("The lookup cache
|
|
1644
|
+
which you are trying to deregister is not registered on the
|
|
1645
|
+
integration."), is still referenced by a flow step in the
|
|
1646
|
+
integration ("The lookup cache is being actively used by a flow
|
|
1647
|
+
step in this integration..."), or is still referenced by an alias
|
|
1648
|
+
("The lookup cache is referenced by an alias in this integration.
|
|
1649
|
+
Remove the alias before deregistering."). Error code: `not_allowed`
|
|
1650
|
+
for all three.
|
|
1651
|
+
content:
|
|
1652
|
+
application/json:
|
|
1653
|
+
schema:
|
|
1654
|
+
$ref: '#/components/schemas/Error'
|
|
1655
|
+
examples:
|
|
1656
|
+
in_use:
|
|
1657
|
+
value:
|
|
1658
|
+
errors:
|
|
1659
|
+
- code: not_allowed
|
|
1660
|
+
message: The lookup cache is being actively used by a flow step in this integration. Please remove the lookup cache reference from all flow steps before deregistering.
|
|
1661
|
+
alias_referenced:
|
|
1662
|
+
value:
|
|
1663
|
+
errors:
|
|
1664
|
+
- code: not_allowed
|
|
1665
|
+
message: The lookup cache is referenced by an alias in this integration. Remove the alias before deregistering.
|
|
1666
|
+
'401':
|
|
1667
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1668
|
+
'404':
|
|
1669
|
+
$ref: '#/components/responses/404-not-found'
|
|
1670
|
+
/v1/integrations/{_id}/lookupcaches/register:
|
|
1671
|
+
put:
|
|
1672
|
+
x-internal: false
|
|
1673
|
+
operationId: registerLookupCachesToIntegration
|
|
1674
|
+
tags:
|
|
1675
|
+
- Integrations
|
|
1676
|
+
summary: Register lookup caches to an integration (by body)
|
|
1677
|
+
description: |-
|
|
1678
|
+
Registers one or more lookup caches to the integration, adding them to
|
|
1679
|
+
its `_registeredLookupCacheIds` list. The request body is a bare JSON
|
|
1680
|
+
array of lookup cache ids; duplicates are collapsed. Alternatively, use
|
|
1681
|
+
`PUT /v1/integrations/{_id}/lookupcaches/{_lookupCacheId}/register` to
|
|
1682
|
+
register a single cache by path parameter.
|
|
1683
|
+
|
|
1684
|
+
Registration also adds an entry to the integration's `aliases[]` for each
|
|
1685
|
+
newly registered cache that does not already have one: `alias` is a slug
|
|
1686
|
+
of the cache name (lowercased, whitespace and special characters stripped,
|
|
1687
|
+
`_2`/`_3`/… appended on collision) and `_lookupCacheId` points at the
|
|
1688
|
+
cache. Scripts and hooks use the alias as a stable handle for the cache,
|
|
1689
|
+
and deregistering the cache is blocked until the alias is removed.
|
|
1690
|
+
parameters:
|
|
1691
|
+
- name: _id
|
|
1692
|
+
in: path
|
|
1693
|
+
required: true
|
|
1694
|
+
description: Integration id.
|
|
1695
|
+
schema:
|
|
1696
|
+
type: string
|
|
1697
|
+
format: objectId
|
|
1698
|
+
x-celigo-refModel: integrations
|
|
1699
|
+
examples:
|
|
1700
|
+
- 6842261335b64c0bcb308e4f
|
|
1701
|
+
requestBody:
|
|
1702
|
+
required: true
|
|
1703
|
+
content:
|
|
1704
|
+
application/json:
|
|
1705
|
+
schema:
|
|
1706
|
+
type: array
|
|
1707
|
+
description: Lookup cache ids to register.
|
|
1708
|
+
items:
|
|
1709
|
+
type: string
|
|
1710
|
+
format: objectId
|
|
1711
|
+
x-celigo-refModel: lookupcaches
|
|
1712
|
+
examples:
|
|
1713
|
+
default:
|
|
1714
|
+
value:
|
|
1715
|
+
- 68680d7111d1437fbcbce534
|
|
1716
|
+
- 68680d7111d1437fbcbce535
|
|
1717
|
+
responses:
|
|
1718
|
+
'204':
|
|
1719
|
+
description: Lookup caches registered successfully. No body returned.
|
|
1720
|
+
'400':
|
|
1721
|
+
description: An entry in the array is not a valid ObjectId.
|
|
1722
|
+
content:
|
|
1723
|
+
application/json:
|
|
1724
|
+
schema:
|
|
1725
|
+
$ref: '#/components/schemas/Error'
|
|
1726
|
+
'401':
|
|
1727
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1728
|
+
'404':
|
|
1729
|
+
$ref: '#/components/responses/404-not-found'
|
|
1730
|
+
/v1/integrations/{_id}/tree/metadata:
|
|
1731
|
+
get:
|
|
1732
|
+
x-internal: false
|
|
1733
|
+
operationId: getIntegrationTreeMetadata
|
|
1734
|
+
tags:
|
|
1735
|
+
- Integrations
|
|
1736
|
+
summary: Get integration tree metadata
|
|
1737
|
+
description: |-
|
|
1738
|
+
Returns structural metadata for the integration and its child integrations. The response
|
|
1739
|
+
includes install steps, flow groupings, API groupings, registered connection ids, uninstall
|
|
1740
|
+
steps, and change-edition steps, plus a `childIntegrations` array with the same structure for
|
|
1741
|
+
each child. Primarily useful for Integration App integrations that have install/uninstall steps
|
|
1742
|
+
and child integrations.
|
|
1743
|
+
parameters:
|
|
1744
|
+
- name: _id
|
|
1745
|
+
in: path
|
|
1746
|
+
required: true
|
|
1747
|
+
description: Integration id.
|
|
1748
|
+
schema:
|
|
1749
|
+
type: string
|
|
1750
|
+
format: objectId
|
|
1751
|
+
x-celigo-refModel: integrations
|
|
1752
|
+
examples:
|
|
1753
|
+
- 6842261335b64c0bcb308e4f
|
|
1754
|
+
responses:
|
|
1755
|
+
'200':
|
|
1756
|
+
description: Integration tree metadata.
|
|
1757
|
+
content:
|
|
1758
|
+
application/json:
|
|
1759
|
+
schema:
|
|
1760
|
+
type: object
|
|
1761
|
+
properties:
|
|
1762
|
+
integration:
|
|
1763
|
+
type: object
|
|
1764
|
+
description: |-
|
|
1765
|
+
Metadata for the integration itself, including install steps, flow groupings,
|
|
1766
|
+
API groupings, registered connection ids, uninstall steps, and change-edition steps.
|
|
1767
|
+
childIntegrations:
|
|
1768
|
+
type: array
|
|
1769
|
+
description: Metadata for child integrations (empty array if none).
|
|
1770
|
+
items:
|
|
1771
|
+
type: object
|
|
1772
|
+
examples:
|
|
1773
|
+
plain_integration:
|
|
1774
|
+
summary: Plain integration with no children
|
|
1775
|
+
value:
|
|
1776
|
+
integration:
|
|
1777
|
+
_id: 6842261335b64c0bcb308e4f
|
|
1778
|
+
name: Shopify → NetSuite Orders
|
|
1779
|
+
installSteps: []
|
|
1780
|
+
uninstallSteps: []
|
|
1781
|
+
changeEditionSteps: []
|
|
1782
|
+
flowGroupings:
|
|
1783
|
+
- _id: 69d42d09b9c28ea0b7e7c0c0
|
|
1784
|
+
name: Order sync
|
|
1785
|
+
apiGroupings: []
|
|
1786
|
+
_registeredConnectionIds:
|
|
1787
|
+
- 626168f90b6ef816b50c82d7
|
|
1788
|
+
childIntegrations: []
|
|
1789
|
+
'401':
|
|
1790
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1791
|
+
'404':
|
|
1792
|
+
$ref: '#/components/responses/404-not-found'
|
|
1793
|
+
/v1/integrations/{_id}/resume:
|
|
1794
|
+
put:
|
|
1795
|
+
x-internal: false
|
|
1796
|
+
operationId: resumeIntegration
|
|
1797
|
+
tags:
|
|
1798
|
+
- Integrations
|
|
1799
|
+
summary: Resume an Integration App integration
|
|
1800
|
+
description: |-
|
|
1801
|
+
Resumes a paused Integration App integration. Requires that the integration belongs to an
|
|
1802
|
+
Integration App. No request body is needed.
|
|
1803
|
+
parameters:
|
|
1804
|
+
- name: _id
|
|
1805
|
+
in: path
|
|
1806
|
+
required: true
|
|
1807
|
+
description: Integration id.
|
|
1808
|
+
schema:
|
|
1809
|
+
type: string
|
|
1810
|
+
format: objectId
|
|
1811
|
+
x-celigo-refModel: integrations
|
|
1812
|
+
examples:
|
|
1813
|
+
- 6842261335b64c0bcb308e4f
|
|
1814
|
+
responses:
|
|
1815
|
+
'200':
|
|
1816
|
+
description: Integration resumed successfully.
|
|
1817
|
+
'401':
|
|
1818
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1819
|
+
'404':
|
|
1820
|
+
$ref: '#/components/responses/404-not-found'
|
|
1821
|
+
'422':
|
|
1822
|
+
description: |-
|
|
1823
|
+
Integration does not belong to an Integration App. Error code: `invalid_ref`, message:
|
|
1824
|
+
"doesnot belongs to any Integration App."
|
|
1825
|
+
content:
|
|
1826
|
+
application/json:
|
|
1827
|
+
schema:
|
|
1828
|
+
$ref: '#/components/schemas/Error'
|
|
1829
|
+
examples:
|
|
1830
|
+
notIA:
|
|
1831
|
+
value:
|
|
1832
|
+
errors:
|
|
1833
|
+
- code: invalid_ref
|
|
1834
|
+
message: doesnot belongs to any Integration App.
|
|
1835
|
+
/v1/integrations/{_id}/changeEdition:
|
|
1836
|
+
post:
|
|
1837
|
+
x-internal: false
|
|
1838
|
+
operationId: changeIntegrationEdition
|
|
1839
|
+
tags:
|
|
1840
|
+
- Integrations
|
|
1841
|
+
summary: Change the edition of an Integration App integration
|
|
1842
|
+
description: |-
|
|
1843
|
+
Triggers an edition change for an Integration App integration that has a `changeEdition`
|
|
1844
|
+
function configured. Requires the integration to belong to an Integration App with edition
|
|
1845
|
+
support.
|
|
1846
|
+
parameters:
|
|
1847
|
+
- name: _id
|
|
1848
|
+
in: path
|
|
1849
|
+
required: true
|
|
1850
|
+
description: Integration id.
|
|
1851
|
+
schema:
|
|
1852
|
+
type: string
|
|
1853
|
+
format: objectId
|
|
1854
|
+
x-celigo-refModel: integrations
|
|
1855
|
+
examples:
|
|
1856
|
+
- 6842261335b64c0bcb308e4f
|
|
1857
|
+
responses:
|
|
1858
|
+
'200':
|
|
1859
|
+
description: Edition change initiated successfully.
|
|
1860
|
+
'401':
|
|
1861
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1862
|
+
'404':
|
|
1863
|
+
$ref: '#/components/responses/404-not-found'
|
|
1864
|
+
'422':
|
|
1865
|
+
description: |-
|
|
1866
|
+
Integration does not belong to an Integration App with changeEdition support. Error code:
|
|
1867
|
+
`invalid_integration_app`.
|
|
1868
|
+
content:
|
|
1869
|
+
application/json:
|
|
1870
|
+
schema:
|
|
1871
|
+
$ref: '#/components/schemas/Error'
|
|
1872
|
+
examples:
|
|
1873
|
+
notIA:
|
|
1874
|
+
value:
|
|
1875
|
+
errors:
|
|
1876
|
+
- code: invalid_integration_app
|
|
1877
|
+
message: Integration does not belong to an Integration App with changeEdition support.
|
|
1878
|
+
/v1/integrations/{_id}/initChild:
|
|
1879
|
+
post:
|
|
1880
|
+
x-internal: false
|
|
1881
|
+
operationId: initChildIntegration
|
|
1882
|
+
tags:
|
|
1883
|
+
- Integrations
|
|
1884
|
+
summary: Initialize a child integration
|
|
1885
|
+
description: |-
|
|
1886
|
+
Initializes a child integration under an Integration App parent. Requires the parent integration
|
|
1887
|
+
to belong to an Integration App with an init script configured.
|
|
1888
|
+
parameters:
|
|
1889
|
+
- name: _id
|
|
1890
|
+
in: path
|
|
1891
|
+
required: true
|
|
1892
|
+
description: Integration id (the parent Integration App integration).
|
|
1893
|
+
schema:
|
|
1894
|
+
type: string
|
|
1895
|
+
format: objectId
|
|
1896
|
+
x-celigo-refModel: integrations
|
|
1897
|
+
examples:
|
|
1898
|
+
- 6842261335b64c0bcb308e4f
|
|
1899
|
+
responses:
|
|
1900
|
+
'200':
|
|
1901
|
+
description: Child integration initialized successfully.
|
|
1902
|
+
'401':
|
|
1903
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1904
|
+
'404':
|
|
1905
|
+
$ref: '#/components/responses/404-not-found'
|
|
1906
|
+
'422':
|
|
1907
|
+
description: |-
|
|
1908
|
+
Integration App does not have a valid init script. Error code: `invalid_ref`, message:
|
|
1909
|
+
"Script fields invalid or not found."
|
|
1910
|
+
content:
|
|
1911
|
+
application/json:
|
|
1912
|
+
schema:
|
|
1913
|
+
$ref: '#/components/schemas/Error'
|
|
1914
|
+
examples:
|
|
1915
|
+
noScript:
|
|
1916
|
+
value:
|
|
1917
|
+
errors:
|
|
1918
|
+
- code: invalid_ref
|
|
1919
|
+
message: Script fields invalid or not found.
|
|
1920
|
+
/v1/integrations/{_id}/detachLicense:
|
|
1921
|
+
put:
|
|
1922
|
+
x-internal: false
|
|
1923
|
+
operationId: detachIntegrationLicense
|
|
1924
|
+
tags:
|
|
1925
|
+
- Integrations
|
|
1926
|
+
summary: Detach the license from an integration
|
|
1927
|
+
description: |-
|
|
1928
|
+
Detaches the license from an integration. Idempotent -- calling it on an integration that
|
|
1929
|
+
already has no license attached is a no-op. No request body is needed.
|
|
1930
|
+
parameters:
|
|
1931
|
+
- name: _id
|
|
1932
|
+
in: path
|
|
1933
|
+
required: true
|
|
1934
|
+
description: Integration id.
|
|
1935
|
+
schema:
|
|
1936
|
+
type: string
|
|
1937
|
+
format: objectId
|
|
1938
|
+
x-celigo-refModel: integrations
|
|
1939
|
+
examples:
|
|
1940
|
+
- 6842261335b64c0bcb308e4f
|
|
1941
|
+
responses:
|
|
1942
|
+
'204':
|
|
1943
|
+
description: License detached (or was already detached). No body returned.
|
|
1944
|
+
'401':
|
|
1945
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1946
|
+
'404':
|
|
1947
|
+
$ref: '#/components/responses/404-not-found'
|
|
1948
|
+
/v1/integrations/{_id}/iLMIgnore:
|
|
1949
|
+
get:
|
|
1950
|
+
x-internal: false
|
|
1951
|
+
operationId: getIntegrationILMIgnoreFields
|
|
1952
|
+
tags:
|
|
1953
|
+
- Integrations
|
|
1954
|
+
summary: List available ILM ignore fields
|
|
1955
|
+
description: |-
|
|
1956
|
+
Returns the catalog of *available* fields that can be ignored when pulling changes between
|
|
1957
|
+
related integrations. Keys are lowercase resource types (`integration`, `flow`, `export`,
|
|
1958
|
+
`import`, `connection`, `script`, ...); values are arrays of dot-path field names that can be
|
|
1959
|
+
excluded from an ILM pull/revert. The key set is platform-driven — treat the response, not
|
|
1960
|
+
the example list, as the authoritative catalog.
|
|
1961
|
+
|
|
1962
|
+
This endpoint requires the `integrator-ashareid` header to establish a shared-account context.
|
|
1963
|
+
The current ignore configuration lives on the integration's `iLMIgnore` field (readable via
|
|
1964
|
+
`GET /v1/integrations/{_id}`); this endpoint only returns the menu of what *can* be ignored.
|
|
1965
|
+
To change the configuration, PATCH the integration with
|
|
1966
|
+
`[{op:"replace", path:"/iLMIgnore", value:{...}}]`.
|
|
1967
|
+
parameters:
|
|
1968
|
+
- name: integrator-ashareid
|
|
1969
|
+
in: header
|
|
1970
|
+
required: true
|
|
1971
|
+
description: |-
|
|
1972
|
+
Account-share id that scopes the request to a specific shared-account context. The bearer
|
|
1973
|
+
token's user must be the `sharedWithUser` of this ashare.
|
|
1974
|
+
schema:
|
|
1975
|
+
type: string
|
|
1976
|
+
format: objectId
|
|
1977
|
+
examples:
|
|
1978
|
+
- 6798f4dc43db9184f4bc8ee0
|
|
1979
|
+
- name: _id
|
|
1980
|
+
in: path
|
|
1981
|
+
required: true
|
|
1982
|
+
description: Integration id.
|
|
1983
|
+
schema:
|
|
1984
|
+
type: string
|
|
1985
|
+
format: objectId
|
|
1986
|
+
x-celigo-refModel: integrations
|
|
1987
|
+
examples:
|
|
1988
|
+
- 6842261335b64c0bcb308e4f
|
|
1989
|
+
responses:
|
|
1990
|
+
'200':
|
|
1991
|
+
description: Available ignore fields per resource type.
|
|
1992
|
+
content:
|
|
1993
|
+
application/json:
|
|
1994
|
+
schema:
|
|
1995
|
+
$ref: '#/components/schemas/ILMIgnoreResponse'
|
|
1996
|
+
examples:
|
|
1997
|
+
default:
|
|
1998
|
+
value:
|
|
1999
|
+
integration:
|
|
2000
|
+
- name
|
|
2001
|
+
- description
|
|
2002
|
+
flow:
|
|
2003
|
+
- disabled
|
|
2004
|
+
- name
|
|
2005
|
+
export:
|
|
2006
|
+
- name
|
|
2007
|
+
- http.body
|
|
2008
|
+
'401':
|
|
2009
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
2010
|
+
'403':
|
|
2011
|
+
description: |-
|
|
2012
|
+
Either the `integrator-ashareid` header is malformed (code: `invalid_header_value`) or it
|
|
2013
|
+
was omitted entirely (code: `get_not_allowed`).
|
|
2014
|
+
content:
|
|
2015
|
+
application/json:
|
|
2016
|
+
schema:
|
|
2017
|
+
$ref: '#/components/schemas/Error'
|
|
2018
|
+
examples:
|
|
2019
|
+
get_not_allowed:
|
|
2020
|
+
summary: Header omitted entirely
|
|
2021
|
+
value:
|
|
2022
|
+
errors:
|
|
2023
|
+
- code: get_not_allowed
|
|
2024
|
+
message: GET resource not allowed for the given model.
|
|
2025
|
+
invalid_header_value:
|
|
2026
|
+
summary: Header malformed (not a 24-char hex id)
|
|
2027
|
+
value:
|
|
2028
|
+
errors:
|
|
2029
|
+
- code: invalid_header_value
|
|
2030
|
+
message: The value provided for request header Integrator-AShareId is invalid.
|
|
2031
|
+
'404':
|
|
2032
|
+
description: |-
|
|
2033
|
+
Integration unknown, or the `integrator-ashareid` references a share whose `sharedWithUser`
|
|
2034
|
+
isn't the bearer token's user (code: `access_restricted`).
|
|
2035
|
+
content:
|
|
2036
|
+
application/json:
|
|
2037
|
+
schema:
|
|
2038
|
+
$ref: '#/components/schemas/Error'
|
|
2039
|
+
examples:
|
|
2040
|
+
access_restricted:
|
|
2041
|
+
value:
|
|
2042
|
+
errors:
|
|
2043
|
+
- code: access_restricted
|
|
2044
|
+
message: Your access to an integrator.io environment or account has been disabled. For more information, contact account administrator.
|
|
2045
|
+
/v1/integrations/{_id}/template:
|
|
2046
|
+
get:
|
|
2047
|
+
x-internal: false
|
|
2048
|
+
operationId: getIntegrationTemplate
|
|
2049
|
+
tags:
|
|
2050
|
+
- Integrations
|
|
2051
|
+
summary: Get a downloadable template for an integration
|
|
2052
|
+
description: |-
|
|
2053
|
+
Packages the integration as an installable template and returns a signed
|
|
2054
|
+
S3 URL where the template `.zip` can be downloaded. The URL is
|
|
2055
|
+
pre-signed and short-lived (it expires shortly after issuance), so fetch
|
|
2056
|
+
the file promptly after calling this endpoint.
|
|
2057
|
+
|
|
2058
|
+
The downloaded `.zip` is the same artifact used to install the integration
|
|
2059
|
+
as a template into another account.
|
|
2060
|
+
parameters:
|
|
2061
|
+
- name: _id
|
|
2062
|
+
in: path
|
|
2063
|
+
required: true
|
|
2064
|
+
description: Integration id.
|
|
2065
|
+
schema:
|
|
2066
|
+
type: string
|
|
2067
|
+
format: objectId
|
|
2068
|
+
x-celigo-refModel: integrations
|
|
2069
|
+
examples:
|
|
2070
|
+
- 6842261335b64c0bcb308e4f
|
|
2071
|
+
responses:
|
|
2072
|
+
'200':
|
|
2073
|
+
description: Signed download URL for the integration template zip.
|
|
2074
|
+
content:
|
|
2075
|
+
application/json:
|
|
2076
|
+
schema:
|
|
2077
|
+
type: object
|
|
2078
|
+
properties:
|
|
2079
|
+
signedURL:
|
|
2080
|
+
type: string
|
|
2081
|
+
description: Pre-signed, short-lived S3 URL to download the template `.zip`.
|
|
2082
|
+
key:
|
|
2083
|
+
type: string
|
|
2084
|
+
description: S3 object key for the generated template `.zip`.
|
|
2085
|
+
examples:
|
|
2086
|
+
default:
|
|
2087
|
+
summary: Signed template download URL
|
|
2088
|
+
value:
|
|
2089
|
+
signedURL: https://integrator-templates.s3.us-east-1.amazonaws.com/6842261335b64c0bcb308e4f.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900&X-Amz-Signature=b117bf598b5535ed024cdbdfec756172f386fd39ad4e4536e40e5efbbf4ff52a
|
|
2090
|
+
key: 6842261335b64c0bcb308e4f.zip
|
|
2091
|
+
'401':
|
|
2092
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
2093
|
+
'404':
|
|
2094
|
+
$ref: '#/components/responses/404-not-found'
|
|
2095
|
+
/v1/integrations/{_id}/dependencies:
|
|
2096
|
+
get:
|
|
2097
|
+
x-internal: false
|
|
2098
|
+
operationId: listIntegrationDependencies
|
|
2099
|
+
tags:
|
|
2100
|
+
- Integrations
|
|
2101
|
+
summary: List dependencies of an integration
|
|
2102
|
+
description: |-
|
|
2103
|
+
Returns the set of resources that depend on the specified resource.
|
|
2104
|
+
The response is an object whose keys are dependent-resource types
|
|
2105
|
+
(e.g. `flows`, `imports`) and whose values are arrays of dependency
|
|
2106
|
+
entries. An empty object `{}` means no other resources depend on the
|
|
2107
|
+
target (also returned for a well-formatted but nonexistent id).
|
|
2108
|
+
parameters:
|
|
2109
|
+
- name: _id
|
|
2110
|
+
in: path
|
|
2111
|
+
required: true
|
|
2112
|
+
description: Resource ID.
|
|
2113
|
+
schema:
|
|
2114
|
+
type: string
|
|
2115
|
+
format: objectId
|
|
2116
|
+
examples:
|
|
2117
|
+
- 6842261335b64c0bcb308e4f
|
|
2118
|
+
responses:
|
|
2119
|
+
'200':
|
|
2120
|
+
description: |
|
|
2121
|
+
Dependency map. Keys are resource-type strings; values are arrays
|
|
2122
|
+
of dependency entries. Returns `{}` when no dependents exist.
|
|
2123
|
+
content:
|
|
2124
|
+
application/json:
|
|
2125
|
+
schema:
|
|
2126
|
+
$ref: '#/components/schemas/DependencyResponse'
|
|
2127
|
+
examples:
|
|
2128
|
+
no_dependents:
|
|
2129
|
+
summary: No other resources depend on the integration
|
|
2130
|
+
value: {}
|
|
2131
|
+
'401':
|
|
2132
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
2133
|
+
components:
|
|
2134
|
+
securitySchemes:
|
|
2135
|
+
bearerAuth:
|
|
2136
|
+
type: http
|
|
2137
|
+
scheme: bearer
|
|
2138
|
+
parameters:
|
|
2139
|
+
Include:
|
|
2140
|
+
name: include
|
|
2141
|
+
in: query
|
|
2142
|
+
required: false
|
|
2143
|
+
description: |-
|
|
2144
|
+
Comma-separated list of fields to project into each returned record.
|
|
2145
|
+
Triggers summary projection: the response contains a minimal identity
|
|
2146
|
+
set (`_id`, `name`, plus resource-specific fields) with the requested
|
|
2147
|
+
fields added on top. Supports dot notation for nested fields.
|
|
2148
|
+
Mutually exclusive with `exclude`.
|
|
2149
|
+
schema:
|
|
2150
|
+
type: string
|
|
2151
|
+
example: _integrationId,disabled,lastModified
|
|
2152
|
+
Exclude:
|
|
2153
|
+
name: exclude
|
|
2154
|
+
in: query
|
|
2155
|
+
required: false
|
|
2156
|
+
description: |-
|
|
2157
|
+
Comma-separated list of fields to strip from the default response.
|
|
2158
|
+
Unlike `include`, does not trigger summary projection — returns the
|
|
2159
|
+
full record with the named fields removed. Protected identity fields
|
|
2160
|
+
(e.g. `name`) cannot be stripped. Mutually exclusive with `include`.
|
|
2161
|
+
schema:
|
|
2162
|
+
type: string
|
|
2163
|
+
example: createdAt,lastModified
|
|
2164
|
+
schemas:
|
|
2165
|
+
Settings:
|
|
2166
|
+
type: object
|
|
2167
|
+
description: |
|
|
2168
|
+
Configuration settings that can be accessed by hooks, filters, mappings and handlebars templates at runtime.
|
|
2169
|
+
|
|
2170
|
+
It enables customization of the resource's logic, allowing hooks, mappings, filters, and
|
|
2171
|
+
handlebars to access and apply the settings at runtime.
|
|
2172
|
+
|
|
2173
|
+
**Usage**
|
|
2174
|
+
|
|
2175
|
+
The settings object can store arbitrary JSON data that you want to save with the resource.
|
|
2176
|
+
While it's often populated through a form defined in the `settingsForm` field, you can also:
|
|
2177
|
+
|
|
2178
|
+
- Directly provide JSON settings without using a form
|
|
2179
|
+
- Store configuration values used by hooks and templates
|
|
2180
|
+
- Create resource-specific constants and parameters
|
|
2181
|
+
- Maintain lookup tables or mapping structures
|
|
2182
|
+
- Define conditional logic parameters
|
|
2183
|
+
|
|
2184
|
+
**Accessibility**
|
|
2185
|
+
|
|
2186
|
+
Settings are available in:
|
|
2187
|
+
- All handlebars fields for building dynamic payloads
|
|
2188
|
+
- Field mapping expressions
|
|
2189
|
+
- JavaScript hooks via the options object
|
|
2190
|
+
- Filters and transformations
|
|
2191
|
+
|
|
2192
|
+
At runtime, the settings objects in the step's execution chain are gathered into a
|
|
2193
|
+
single `settings` context keyed by fixed scope keys. Flow runs populate the full
|
|
2194
|
+
chain: `settings.integration.*`, `settings.flowGrouping.*` (the flow group the flow
|
|
2195
|
+
belongs to), `settings.flow.*`, `settings.connection.*`, `settings.iClient.*`, and
|
|
2196
|
+
the running step's own scope — `settings.export.*` on exports/lookups,
|
|
2197
|
+
`settings.import.*` on imports (the key matches the step type). Steps executing
|
|
2198
|
+
inside a My API or a Tool receive only the step's own scope plus
|
|
2199
|
+
`settings.connection.*` / `settings.iClient.*`; the integration, flowGrouping, and
|
|
2200
|
+
flow scopes resolve empty there. The scope key is literal — resource display names
|
|
2201
|
+
and settingsForm section labels are never part of the path. The segments after the
|
|
2202
|
+
scope mirror the stored settings JSON key path exactly: a top-level field is
|
|
2203
|
+
`settings.<scope>.<fieldId>`, and nested objects add one segment per JSON key
|
|
2204
|
+
(e.g. `settings.flowGrouping.Customer.region` when the group's settings JSON nests
|
|
2205
|
+
`region` under `Customer`). References without a scope key
|
|
2206
|
+
(e.g. `{{settings.myField}}`) resolve to empty strings.
|
|
2207
|
+
|
|
2208
|
+
**Best practices**
|
|
2209
|
+
|
|
2210
|
+
For non-technical users, create a custom form instead of editing the JSON directly.
|
|
2211
|
+
This provides a user-friendly interface for updating settings without requiring JSON knowledge.
|
|
2212
|
+
additionalProperties: true
|
|
2213
|
+
Form:
|
|
2214
|
+
type: object
|
|
2215
|
+
description: |
|
|
2216
|
+
Configuration for creating user-friendly settings forms that make it easier for less technical users
|
|
2217
|
+
to configure integration resources.
|
|
2218
|
+
|
|
2219
|
+
**Settings form builder**
|
|
2220
|
+
|
|
2221
|
+
The Settings Form Builder allows you to create or edit user-friendly fields that prompt for text entry
|
|
2222
|
+
or selections that will be returned as settings applied to this resource. Your forms can include any
|
|
2223
|
+
field types that you see elsewhere in integrator.io, such as:
|
|
2224
|
+
|
|
2225
|
+
- Text fields
|
|
2226
|
+
- Dropdown selections
|
|
2227
|
+
- Checkboxes
|
|
2228
|
+
- Radio buttons
|
|
2229
|
+
- Date pickers
|
|
2230
|
+
- Multi-select fields
|
|
2231
|
+
- Search fields
|
|
2232
|
+
|
|
2233
|
+
Form fields make it much easier for less technical users to work with your integration settings by:
|
|
2234
|
+
|
|
2235
|
+
- Providing clear labels and help text
|
|
2236
|
+
- Enforcing validation rules
|
|
2237
|
+
- Offering pre-defined selection options
|
|
2238
|
+
- Grouping related settings logically
|
|
2239
|
+
- Supporting conditional visibility
|
|
2240
|
+
- Creating a consistent user experience
|
|
2241
|
+
properties:
|
|
2242
|
+
form:
|
|
2243
|
+
type: object
|
|
2244
|
+
description: |
|
|
2245
|
+
Configuration that defines the structure, fields, and behavior of the settings form.
|
|
2246
|
+
|
|
2247
|
+
This object contains the complete definition of the form's layout, fields, validation rules,
|
|
2248
|
+
and interactive behaviors. The specific structure depends on the form complexity and can include
|
|
2249
|
+
field definitions, sections, conditional display logic, and default values.
|
|
2250
|
+
|
|
2251
|
+
The form configuration is typically created and managed through the visual Form Builder interface
|
|
2252
|
+
rather than edited directly as JSON.
|
|
2253
|
+
properties:
|
|
2254
|
+
fieldMap:
|
|
2255
|
+
type: object
|
|
2256
|
+
description: |
|
|
2257
|
+
A mapping of field identifiers to their configuration objects.
|
|
2258
|
+
Each key in this object represents a unique field ID, and the value contains
|
|
2259
|
+
all the configuration settings for that specific form field.
|
|
2260
|
+
additionalProperties:
|
|
2261
|
+
type: object
|
|
2262
|
+
description: |
|
|
2263
|
+
Configuration for an individual form field.
|
|
2264
|
+
properties:
|
|
2265
|
+
id:
|
|
2266
|
+
type: string
|
|
2267
|
+
description: |
|
|
2268
|
+
Unique identifier for this field within the form.
|
|
2269
|
+
This value typically matches the key in the fieldMap object.
|
|
2270
|
+
examples:
|
|
2271
|
+
- url
|
|
2272
|
+
- mode
|
|
2273
|
+
- body
|
|
2274
|
+
- keyValue
|
|
2275
|
+
- text
|
|
2276
|
+
- multiline
|
|
2277
|
+
name:
|
|
2278
|
+
type: string
|
|
2279
|
+
description: |
|
|
2280
|
+
Name of the field, used as the property name when generating the settings object
|
|
2281
|
+
from the submitted form data.
|
|
2282
|
+
examples:
|
|
2283
|
+
- url
|
|
2284
|
+
- mode
|
|
2285
|
+
- body
|
|
2286
|
+
- keyValue
|
|
2287
|
+
- text
|
|
2288
|
+
- multiline
|
|
2289
|
+
type:
|
|
2290
|
+
type: string
|
|
2291
|
+
description: |
|
|
2292
|
+
The type of form control to render for this field.
|
|
2293
|
+
enum:
|
|
2294
|
+
- text
|
|
2295
|
+
- checkbox
|
|
2296
|
+
- radiogroup
|
|
2297
|
+
- relativeuri
|
|
2298
|
+
- editor
|
|
2299
|
+
- keyvalue
|
|
2300
|
+
- select
|
|
2301
|
+
- multiselect
|
|
2302
|
+
- toggle
|
|
2303
|
+
- datetime
|
|
2304
|
+
- date
|
|
2305
|
+
- exportSelect
|
|
2306
|
+
- staticMap
|
|
2307
|
+
x-enumDescriptions:
|
|
2308
|
+
text: Single-line or multi-line text input field.
|
|
2309
|
+
checkbox: Boolean checkbox control for true/false values.
|
|
2310
|
+
radiogroup: Group of mutually exclusive radio button options.
|
|
2311
|
+
relativeuri: Text input for entering a relative URI path.
|
|
2312
|
+
editor: Code or content editor with syntax highlighting.
|
|
2313
|
+
keyvalue: Dynamic list of key-value pair inputs.
|
|
2314
|
+
select: Dropdown menu for selecting a single option.
|
|
2315
|
+
multiselect: Dropdown menu that allows selecting multiple options.
|
|
2316
|
+
toggle: On/off toggle switch control.
|
|
2317
|
+
datetime: Date and time picker control.
|
|
2318
|
+
date: Date-only picker control without a time component.
|
|
2319
|
+
exportSelect: Dropdown whose options are records returned by an export.
|
|
2320
|
+
staticMap: Static two-column mapping table for pairing source and destination values.
|
|
2321
|
+
examples:
|
|
2322
|
+
- text
|
|
2323
|
+
- checkbox
|
|
2324
|
+
- radiogroup
|
|
2325
|
+
- editor
|
|
2326
|
+
- keyvalue
|
|
2327
|
+
- select
|
|
2328
|
+
- multiselect
|
|
2329
|
+
label:
|
|
2330
|
+
type: string
|
|
2331
|
+
description: |
|
|
2332
|
+
Display label shown next to the field in the form.
|
|
2333
|
+
examples:
|
|
2334
|
+
- Some url with handlebars support.
|
|
2335
|
+
- Mode of operation
|
|
2336
|
+
- Key-value pairs
|
|
2337
|
+
- Text
|
|
2338
|
+
description:
|
|
2339
|
+
type: string
|
|
2340
|
+
description: |
|
|
2341
|
+
Detailed explanation text that appears below the field, providing more context
|
|
2342
|
+
than the label or helpText.
|
|
2343
|
+
examples:
|
|
2344
|
+
- This input is used to collect a set of key-value pairs. The item delete action is optional and set using th showDelete prop. Also note that he key and value names can be configured as well.
|
|
2345
|
+
helpText:
|
|
2346
|
+
type: string
|
|
2347
|
+
description: |
|
|
2348
|
+
Explanatory text that appears when hovering over the help icon next to the field.
|
|
2349
|
+
Used to provide additional guidance on how to use the field.
|
|
2350
|
+
examples:
|
|
2351
|
+
- example of a custom input.
|
|
2352
|
+
- This is the most basic input. It models an http form input
|
|
2353
|
+
required:
|
|
2354
|
+
type: boolean
|
|
2355
|
+
description: |
|
|
2356
|
+
When true, the field must have a value before the form can be submitted.
|
|
2357
|
+
default: false
|
|
2358
|
+
examples:
|
|
2359
|
+
- true
|
|
2360
|
+
- false
|
|
2361
|
+
multiline:
|
|
2362
|
+
type: boolean
|
|
2363
|
+
description: |
|
|
2364
|
+
For text fields, determines whether the input should be a multi-line text area
|
|
2365
|
+
instead of a single-line input.
|
|
2366
|
+
default: false
|
|
2367
|
+
examples:
|
|
2368
|
+
- true
|
|
2369
|
+
- false
|
|
2370
|
+
rowsMax:
|
|
2371
|
+
type: integer
|
|
2372
|
+
description: |
|
|
2373
|
+
For multiline text fields, specifies the maximum number of visible rows.
|
|
2374
|
+
examples:
|
|
2375
|
+
- 5
|
|
2376
|
+
inputType:
|
|
2377
|
+
type: string
|
|
2378
|
+
description: |
|
|
2379
|
+
For text fields, specifies the HTML input type attribute to apply additional
|
|
2380
|
+
validation or specialized input behavior.
|
|
2381
|
+
enum:
|
|
2382
|
+
- text
|
|
2383
|
+
- number
|
|
2384
|
+
- email
|
|
2385
|
+
- password
|
|
2386
|
+
- tel
|
|
2387
|
+
- url
|
|
2388
|
+
x-enumDescriptions:
|
|
2389
|
+
text: Standard text input with no special validation.
|
|
2390
|
+
number: Numeric input that restricts entry to numbers.
|
|
2391
|
+
email: Email address input with email format validation.
|
|
2392
|
+
password: Masked text input that hides the entered characters.
|
|
2393
|
+
tel: Telephone number input optimized for phone number entry.
|
|
2394
|
+
url: URL input with web address format validation.
|
|
2395
|
+
examples:
|
|
2396
|
+
- number
|
|
2397
|
+
delimiter:
|
|
2398
|
+
type: string
|
|
2399
|
+
description: |
|
|
2400
|
+
For text fields, specifies a character to use for splitting the input into an array.
|
|
2401
|
+
Used for collecting multiple values in a single text field.
|
|
2402
|
+
examples:
|
|
2403
|
+
- ','
|
|
2404
|
+
mode:
|
|
2405
|
+
type: string
|
|
2406
|
+
description: |
|
|
2407
|
+
For editor fields, specifies the type of content being edited for syntax highlighting.
|
|
2408
|
+
enum:
|
|
2409
|
+
- json
|
|
2410
|
+
- xml
|
|
2411
|
+
- csv
|
|
2412
|
+
- text
|
|
2413
|
+
x-enumDescriptions:
|
|
2414
|
+
json: JSON syntax highlighting and validation.
|
|
2415
|
+
xml: XML syntax highlighting and validation.
|
|
2416
|
+
csv: CSV format highlighting for comma-separated data.
|
|
2417
|
+
text: Plain text mode with no syntax highlighting.
|
|
2418
|
+
examples:
|
|
2419
|
+
- json
|
|
2420
|
+
keyName:
|
|
2421
|
+
type: string
|
|
2422
|
+
description: |
|
|
2423
|
+
For keyvalue fields, specifies the placeholder and field name for the key input.
|
|
2424
|
+
examples:
|
|
2425
|
+
- theKey
|
|
2426
|
+
valueName:
|
|
2427
|
+
type: string
|
|
2428
|
+
description: |
|
|
2429
|
+
For keyvalue fields, specifies the placeholder and field name for the value input.
|
|
2430
|
+
examples:
|
|
2431
|
+
- theValue
|
|
2432
|
+
showDelete:
|
|
2433
|
+
type: boolean
|
|
2434
|
+
description: |
|
|
2435
|
+
For keyvalue fields, determines whether to show a delete button for each key-value pair.
|
|
2436
|
+
examples:
|
|
2437
|
+
- true
|
|
2438
|
+
- false
|
|
2439
|
+
doNotAllowFutureDates:
|
|
2440
|
+
type: boolean
|
|
2441
|
+
description: |
|
|
2442
|
+
For date and datetime fields, restricts selection to dates not in the future.
|
|
2443
|
+
examples:
|
|
2444
|
+
- true
|
|
2445
|
+
- false
|
|
2446
|
+
skipTimezoneConversion:
|
|
2447
|
+
type: boolean
|
|
2448
|
+
description: |
|
|
2449
|
+
For datetime fields, prevents automatic timezone conversion of the date value.
|
|
2450
|
+
examples:
|
|
2451
|
+
- true
|
|
2452
|
+
- false
|
|
2453
|
+
options:
|
|
2454
|
+
type: array
|
|
2455
|
+
description: |
|
|
2456
|
+
For fields that present choices (select, multiselect, radiogroup, toggle), defines
|
|
2457
|
+
the available options.
|
|
2458
|
+
items:
|
|
2459
|
+
anyOf:
|
|
2460
|
+
- title: Option group
|
|
2461
|
+
type: object
|
|
2462
|
+
required:
|
|
2463
|
+
- items
|
|
2464
|
+
properties:
|
|
2465
|
+
items:
|
|
2466
|
+
type: array
|
|
2467
|
+
items:
|
|
2468
|
+
oneOf:
|
|
2469
|
+
- title: String value
|
|
2470
|
+
type: string
|
|
2471
|
+
- title: Label-value pair
|
|
2472
|
+
type: object
|
|
2473
|
+
properties:
|
|
2474
|
+
label:
|
|
2475
|
+
type: string
|
|
2476
|
+
description: |
|
|
2477
|
+
Display text for the option.
|
|
2478
|
+
examples:
|
|
2479
|
+
- United States
|
|
2480
|
+
- Canada
|
|
2481
|
+
- India
|
|
2482
|
+
value:
|
|
2483
|
+
type: string
|
|
2484
|
+
description: |
|
|
2485
|
+
Value to store when this option is selected.
|
|
2486
|
+
examples:
|
|
2487
|
+
- us
|
|
2488
|
+
- cdn
|
|
2489
|
+
- in
|
|
2490
|
+
description: |
|
|
2491
|
+
Array of option values/labels to display in the selection control.
|
|
2492
|
+
examples:
|
|
2493
|
+
- - Create
|
|
2494
|
+
- Update
|
|
2495
|
+
- Delete
|
|
2496
|
+
- - label: United States
|
|
2497
|
+
value: us
|
|
2498
|
+
- label: Canada
|
|
2499
|
+
value: cdn
|
|
2500
|
+
- title: Label-value pair
|
|
2501
|
+
type: object
|
|
2502
|
+
required:
|
|
2503
|
+
- label
|
|
2504
|
+
properties:
|
|
2505
|
+
label:
|
|
2506
|
+
type: string
|
|
2507
|
+
description: |
|
|
2508
|
+
Display text for the option.
|
|
2509
|
+
examples:
|
|
2510
|
+
- US
|
|
2511
|
+
- Canada
|
|
2512
|
+
- India
|
|
2513
|
+
value:
|
|
2514
|
+
type: string
|
|
2515
|
+
description: |
|
|
2516
|
+
Value to store when this option is selected.
|
|
2517
|
+
examples:
|
|
2518
|
+
- us
|
|
2519
|
+
- cdn
|
|
2520
|
+
- in
|
|
2521
|
+
visibleWhen:
|
|
2522
|
+
type: array
|
|
2523
|
+
description: |
|
|
2524
|
+
Conditional display rules that determine when this field should be visible.
|
|
2525
|
+
If empty or not provided, the field is always visible.
|
|
2526
|
+
items:
|
|
2527
|
+
type: object
|
|
2528
|
+
properties:
|
|
2529
|
+
field:
|
|
2530
|
+
type: string
|
|
2531
|
+
description: |
|
|
2532
|
+
The ID of another field whose value controls the visibility of this field.
|
|
2533
|
+
examples:
|
|
2534
|
+
- mode
|
|
2535
|
+
is:
|
|
2536
|
+
type: array
|
|
2537
|
+
items:
|
|
2538
|
+
type:
|
|
2539
|
+
- string
|
|
2540
|
+
- boolean
|
|
2541
|
+
- number
|
|
2542
|
+
- 'null'
|
|
2543
|
+
description: |
|
|
2544
|
+
Array of values - if the referenced field has any of these values,
|
|
2545
|
+
this field will be visible. Values may be strings, booleans (for
|
|
2546
|
+
checkbox/toggle fields), numbers (for numeric inputs), or null.
|
|
2547
|
+
examples:
|
|
2548
|
+
- - Update
|
|
2549
|
+
- - true
|
|
2550
|
+
layout:
|
|
2551
|
+
type: object
|
|
2552
|
+
description: |
|
|
2553
|
+
Defines how the form fields are arranged and grouped in the UI.
|
|
2554
|
+
The layout can organize fields into columns, sections, or other visual groupings.
|
|
2555
|
+
properties:
|
|
2556
|
+
type:
|
|
2557
|
+
type: string
|
|
2558
|
+
description: |
|
|
2559
|
+
The type of layout to use for the form.
|
|
2560
|
+
enum:
|
|
2561
|
+
- column
|
|
2562
|
+
- collapse
|
|
2563
|
+
- box
|
|
2564
|
+
- indent
|
|
2565
|
+
- tabWithoutSave
|
|
2566
|
+
- verticalTabWithoutSave
|
|
2567
|
+
x-enumDescriptions:
|
|
2568
|
+
column: Arranges form fields in a single vertical column layout.
|
|
2569
|
+
collapse: Groups fields into collapsible/expandable sections.
|
|
2570
|
+
box: Wraps field groups in bordered boxes with headings.
|
|
2571
|
+
indent: Indents field groups to show hierarchy.
|
|
2572
|
+
tabWithoutSave: Organizes field groups into horizontal tabs (no per-tab save).
|
|
2573
|
+
verticalTabWithoutSave: Organizes field groups into vertical tabs (no per-tab save).
|
|
2574
|
+
examples:
|
|
2575
|
+
- column
|
|
2576
|
+
- collapse
|
|
2577
|
+
containers:
|
|
2578
|
+
type: array
|
|
2579
|
+
description: |
|
|
2580
|
+
Array of container objects that group fields or contain nested containers.
|
|
2581
|
+
Each container can represent a column, box, indented section, or collapsible section.
|
|
2582
|
+
items:
|
|
2583
|
+
type: object
|
|
2584
|
+
properties:
|
|
2585
|
+
type:
|
|
2586
|
+
type: string
|
|
2587
|
+
description: |
|
|
2588
|
+
The visual style of the container.
|
|
2589
|
+
enum:
|
|
2590
|
+
- indent
|
|
2591
|
+
- box
|
|
2592
|
+
- collapse
|
|
2593
|
+
x-enumDescriptions:
|
|
2594
|
+
indent: Indents the contained fields to show hierarchy.
|
|
2595
|
+
box: Wraps the contained fields in a bordered box with a heading.
|
|
2596
|
+
collapse: Wraps the contained fields in a collapsible/expandable section.
|
|
2597
|
+
examples:
|
|
2598
|
+
- indent
|
|
2599
|
+
- box
|
|
2600
|
+
- collapse
|
|
2601
|
+
label:
|
|
2602
|
+
type: string
|
|
2603
|
+
description: |
|
|
2604
|
+
The heading text displayed for this container.
|
|
2605
|
+
examples:
|
|
2606
|
+
- Basic fields
|
|
2607
|
+
- Advanced fields
|
|
2608
|
+
- Indented fields
|
|
2609
|
+
- Boxed fields
|
|
2610
|
+
fields:
|
|
2611
|
+
type: array
|
|
2612
|
+
items:
|
|
2613
|
+
type: string
|
|
2614
|
+
description: |
|
|
2615
|
+
Array of field IDs that should be displayed in this container.
|
|
2616
|
+
Each ID must correspond to a key in the fieldMap object.
|
|
2617
|
+
examples:
|
|
2618
|
+
- - A
|
|
2619
|
+
- url
|
|
2620
|
+
- - mode
|
|
2621
|
+
- body
|
|
2622
|
+
- - keyValue
|
|
2623
|
+
- checkbox
|
|
2624
|
+
containers:
|
|
2625
|
+
type: array
|
|
2626
|
+
description: |
|
|
2627
|
+
Nested containers within this container. Allows for hierarchical organization
|
|
2628
|
+
of fields with different visual styles.
|
|
2629
|
+
items:
|
|
2630
|
+
type: object
|
|
2631
|
+
properties:
|
|
2632
|
+
label:
|
|
2633
|
+
type: string
|
|
2634
|
+
description: |
|
|
2635
|
+
The heading text displayed for this nested container.
|
|
2636
|
+
examples:
|
|
2637
|
+
- Indented fields
|
|
2638
|
+
- Boxed fields
|
|
2639
|
+
- Collapsed fields
|
|
2640
|
+
fields:
|
|
2641
|
+
type: array
|
|
2642
|
+
items:
|
|
2643
|
+
type: string
|
|
2644
|
+
description: |
|
|
2645
|
+
Array of field IDs that should be displayed in this nested container.
|
|
2646
|
+
examples:
|
|
2647
|
+
- - keyValue
|
|
2648
|
+
- checkbox
|
|
2649
|
+
additionalProperties: true
|
|
2650
|
+
init:
|
|
2651
|
+
type: object
|
|
2652
|
+
description: |
|
|
2653
|
+
Configuration for custom JavaScript initialization that executes when the form is first loaded.
|
|
2654
|
+
|
|
2655
|
+
This object defines a JavaScript hook that prepares the form for use, sets initial field values,
|
|
2656
|
+
performs validation, or otherwise customizes the form behavior before it is displayed to the user.
|
|
2657
|
+
|
|
2658
|
+
**Function signature**
|
|
2659
|
+
|
|
2660
|
+
The initialization function is invoked with a single 'options' argument containing contextual information:
|
|
2661
|
+
```javascript
|
|
2662
|
+
function formInit(options) {
|
|
2663
|
+
// Process options and return the form object
|
|
2664
|
+
return options.resource.settingsForm.form;
|
|
2665
|
+
}
|
|
2666
|
+
```
|
|
2667
|
+
|
|
2668
|
+
**Available context**
|
|
2669
|
+
|
|
2670
|
+
The 'options' argument provides access to:
|
|
2671
|
+
- `options.resource` - The current resource being configured
|
|
2672
|
+
- `options.parentResource` - The parent of the current resource
|
|
2673
|
+
- `options.grandparentResource` - The grandparent of the current resource
|
|
2674
|
+
- `options.license` - For integration apps, the license provisioned to the integration
|
|
2675
|
+
- `options.parentLicense` - For integration apps, the parent of the license
|
|
2676
|
+
- `options.sandbox` - Boolean flag indicating whether the script is running in a sandbox environment
|
|
2677
|
+
|
|
2678
|
+
|
|
2679
|
+
**Common uses**
|
|
2680
|
+
|
|
2681
|
+
- Dynamically generate field options based on resource configuration
|
|
2682
|
+
- Pre-populate default values from related resources
|
|
2683
|
+
- Apply conditional logic that depends on resource properties
|
|
2684
|
+
- Add, remove, or modify form fields based on user permissions or account settings
|
|
2685
|
+
- Fetch external data to populate selection options
|
|
2686
|
+
- Implement complex validation rules that depend on resource context
|
|
2687
|
+
- Create branching form experiences based on user selections
|
|
2688
|
+
|
|
2689
|
+
**Return value**
|
|
2690
|
+
|
|
2691
|
+
The function must return a valid form object that the UI can render.
|
|
2692
|
+
Throwing an exception will signal an error to the user.
|
|
2693
|
+
properties:
|
|
2694
|
+
function:
|
|
2695
|
+
type: string
|
|
2696
|
+
description: |
|
|
2697
|
+
The name of the function to execute within the referenced script.
|
|
2698
|
+
|
|
2699
|
+
This property specifies which function to invoke from the script
|
|
2700
|
+
referenced by _scriptId. The function will be called when the form
|
|
2701
|
+
is initialized and should handle any custom setup logic.
|
|
2702
|
+
|
|
2703
|
+
The function must follow the expected signature and return a valid form object.
|
|
2704
|
+
examples:
|
|
2705
|
+
- initializeForm
|
|
2706
|
+
- setupFormState
|
|
2707
|
+
- prepareFormData
|
|
2708
|
+
_scriptId:
|
|
2709
|
+
type: string
|
|
2710
|
+
description: |
|
|
2711
|
+
Reference to a predefined script resource containing the initialization function.
|
|
2712
|
+
|
|
2713
|
+
The referenced script should contain the function specified in the
|
|
2714
|
+
'function' property. This script must be accessible within the user's account
|
|
2715
|
+
and have appropriate permissions.
|
|
2716
|
+
examples:
|
|
2717
|
+
- 60a2c4e6f321d800129a1a3c
|
|
2718
|
+
- 5f8d43a1b9e5a80011a35f2c
|
|
2719
|
+
PreSave:
|
|
2720
|
+
type: object
|
|
2721
|
+
description: |
|
|
2722
|
+
Defines a JavaScript hook that executes before the resource is saved.
|
|
2723
|
+
|
|
2724
|
+
This hook allows for programmatic validation, transformation, or enrichment of the
|
|
2725
|
+
resource itself before it is persisted. It can be used to enforce business rules,
|
|
2726
|
+
set derived properties, or implement cross-field validations that can't be expressed
|
|
2727
|
+
through the standard UI.
|
|
2728
|
+
|
|
2729
|
+
**Function signature**
|
|
2730
|
+
|
|
2731
|
+
The preSave function is invoked with a single 'options' argument containing:
|
|
2732
|
+
```javascript
|
|
2733
|
+
function preSave(options) {
|
|
2734
|
+
// Process options and return the modified resource
|
|
2735
|
+
return options.newResource;
|
|
2736
|
+
}
|
|
2737
|
+
```
|
|
2738
|
+
|
|
2739
|
+
**Available context**
|
|
2740
|
+
|
|
2741
|
+
The 'options' argument provides access to:
|
|
2742
|
+
- `options.newResource` - The resource being saved (with pending changes)
|
|
2743
|
+
- `options.oldResource` - The previous version of the resource (before changes)
|
|
2744
|
+
- `options.sandbox` - Boolean flag indicating whether the script is running in a sandbox environment
|
|
2745
|
+
|
|
2746
|
+
|
|
2747
|
+
**Common uses**
|
|
2748
|
+
|
|
2749
|
+
- Enforcing complex business rules across multiple fields
|
|
2750
|
+
- Automatically deriving field values based on other configuration
|
|
2751
|
+
- Performing validation that depends on external systems or data
|
|
2752
|
+
- Normalizing or standardizing configuration values
|
|
2753
|
+
- Adding computed or derived properties
|
|
2754
|
+
- Implementing versioning or change tracking
|
|
2755
|
+
- Dynamically looking up data using the Celigo API module to enrich configuration
|
|
2756
|
+
|
|
2757
|
+
**Return value**
|
|
2758
|
+
|
|
2759
|
+
The function must return the newResource object (potentially modified) to be saved.
|
|
2760
|
+
Throwing an exception will prevent saving and signal an error to the user.
|
|
2761
|
+
properties:
|
|
2762
|
+
function:
|
|
2763
|
+
type: string
|
|
2764
|
+
description: |
|
|
2765
|
+
The name of the function to execute within the referenced script.
|
|
2766
|
+
|
|
2767
|
+
This property specifies which function to invoke from the script
|
|
2768
|
+
referenced by _scriptId. The function will be called just before
|
|
2769
|
+
the resource is saved.
|
|
2770
|
+
|
|
2771
|
+
The function must follow the expected signature and return the resource object.
|
|
2772
|
+
examples:
|
|
2773
|
+
- preSave
|
|
2774
|
+
- validateResource
|
|
2775
|
+
- prepareResourceForSave
|
|
2776
|
+
_scriptId:
|
|
2777
|
+
type: string
|
|
2778
|
+
description: |
|
|
2779
|
+
Reference to a predefined script resource containing the preSave function.
|
|
2780
|
+
|
|
2781
|
+
The referenced script should contain the function specified in the
|
|
2782
|
+
'function' property. This script must be accessible within the user's account
|
|
2783
|
+
and have appropriate permissions.
|
|
2784
|
+
examples:
|
|
2785
|
+
- 60a2c4e6f321d800129a1a3c
|
|
2786
|
+
- 5f8e7d2c1b54e6003a9c7e12
|
|
2787
|
+
IntegrationBase:
|
|
2788
|
+
type: object
|
|
2789
|
+
description: Writable integration fields shared by the request and response schemas.
|
|
2790
|
+
properties:
|
|
2791
|
+
name:
|
|
2792
|
+
type: string
|
|
2793
|
+
minLength: 1
|
|
2794
|
+
maxLength: 100
|
|
2795
|
+
description: |-
|
|
2796
|
+
Human-readable name for the integration.
|
|
2797
|
+
|
|
2798
|
+
Use a short, descriptive label that helps users identify the integration in the UI.
|
|
2799
|
+
examples:
|
|
2800
|
+
- Shopify → NetSuite Orders
|
|
2801
|
+
description:
|
|
2802
|
+
type:
|
|
2803
|
+
- string
|
|
2804
|
+
- 'null'
|
|
2805
|
+
maxLength: 5120
|
|
2806
|
+
description: |-
|
|
2807
|
+
Optional description of the integration's purpose and behavior.
|
|
2808
|
+
|
|
2809
|
+
Helpful for documentation, onboarding, and clarifying what the integration does.
|
|
2810
|
+
readme:
|
|
2811
|
+
type:
|
|
2812
|
+
- string
|
|
2813
|
+
- 'null'
|
|
2814
|
+
maxLength: 51200
|
|
2815
|
+
description: |-
|
|
2816
|
+
Long-form README content for the integration (typically Markdown).
|
|
2817
|
+
|
|
2818
|
+
Use this to provide setup instructions, prerequisites, and operational notes.
|
|
2819
|
+
x-celigo-ai-guidance:
|
|
2820
|
+
- |-
|
|
2821
|
+
Set this ONLY when the user explicitly provides README content or asks you to
|
|
2822
|
+
write one — author it from THEIR wording and intent,
|
|
2823
|
+
not from your own assumptions.
|
|
2824
|
+
Do NOT generate a README on a create/update the user did not ask for;
|
|
2825
|
+
leave it unset.
|
|
2826
|
+
_connectorId:
|
|
2827
|
+
type: string
|
|
2828
|
+
format: objectId
|
|
2829
|
+
x-celigo-refModel: connectors
|
|
2830
|
+
examples:
|
|
2831
|
+
- 5b3c8f9a2e1d4c0011223344
|
|
2832
|
+
description: |-
|
|
2833
|
+
Integration App (connector) identifier when this integration is based on an installed Integration App.
|
|
2834
|
+
|
|
2835
|
+
If you are not working with an Integration App installation, omit this field.
|
|
2836
|
+
_templateId:
|
|
2837
|
+
type: string
|
|
2838
|
+
format: objectId
|
|
2839
|
+
x-celigo-refModel: templates
|
|
2840
|
+
examples:
|
|
2841
|
+
- 5c1a7b8d4f2e6a0011556677
|
|
2842
|
+
description: |-
|
|
2843
|
+
Template identifier used to create/initialize this integration (commonly for Integration Apps).
|
|
2844
|
+
|
|
2845
|
+
Omit unless you are creating/updating an integration from a template.
|
|
2846
|
+
install:
|
|
2847
|
+
type: array
|
|
2848
|
+
description: |-
|
|
2849
|
+
Install "cards" shown during an Integration App installation.
|
|
2850
|
+
|
|
2851
|
+
These are primarily UI/workflow metadata. Unless you are explicitly modeling an Integration App install experience,
|
|
2852
|
+
omit this field.
|
|
2853
|
+
items:
|
|
2854
|
+
type: object
|
|
2855
|
+
additionalProperties: true
|
|
2856
|
+
properties:
|
|
2857
|
+
name:
|
|
2858
|
+
type: string
|
|
2859
|
+
description: Display name for this install card.
|
|
2860
|
+
examples:
|
|
2861
|
+
- Connect to Shopify
|
|
2862
|
+
description:
|
|
2863
|
+
type: string
|
|
2864
|
+
description: Help text shown to the user for this install card.
|
|
2865
|
+
examples:
|
|
2866
|
+
- Authorize access to your Shopify store.
|
|
2867
|
+
imageURL:
|
|
2868
|
+
type: string
|
|
2869
|
+
description: Optional image URL to display for this install card.
|
|
2870
|
+
examples:
|
|
2871
|
+
- https://www.celigo.com/images/shopify.png
|
|
2872
|
+
_connectionId:
|
|
2873
|
+
type: string
|
|
2874
|
+
format: objectId
|
|
2875
|
+
x-celigo-refModel: connections
|
|
2876
|
+
examples:
|
|
2877
|
+
- 626168f90b6ef816b50c82d7
|
|
2878
|
+
description: Connection referenced/created/registered by this card (if applicable).
|
|
2879
|
+
installURL:
|
|
2880
|
+
type: string
|
|
2881
|
+
description: URL to open during install (if the card is URL-based).
|
|
2882
|
+
examples:
|
|
2883
|
+
- https://www.celigo.com/install/shopify
|
|
2884
|
+
completed:
|
|
2885
|
+
type:
|
|
2886
|
+
- boolean
|
|
2887
|
+
- 'null'
|
|
2888
|
+
description: When true, this card has been completed. The server also returns `null` for cards whose completion state was never set.
|
|
2889
|
+
installerFunction:
|
|
2890
|
+
type: string
|
|
2891
|
+
description: Optional function name used by the platform to run install logic for this card.
|
|
2892
|
+
examples:
|
|
2893
|
+
- installShopifyConnection
|
|
2894
|
+
uninstallerFunction:
|
|
2895
|
+
type: string
|
|
2896
|
+
description: Optional function name used by the platform to run uninstall logic for this card.
|
|
2897
|
+
examples:
|
|
2898
|
+
- uninstallShopifyConnection
|
|
2899
|
+
options:
|
|
2900
|
+
type: object
|
|
2901
|
+
description: Free-form options passed to the installer/uninstaller logic.
|
|
2902
|
+
additionalProperties: true
|
|
2903
|
+
sourceConnection:
|
|
2904
|
+
type: object
|
|
2905
|
+
description: Source connection metadata used to prefill or drive install behavior.
|
|
2906
|
+
additionalProperties: true
|
|
2907
|
+
templateZip:
|
|
2908
|
+
type: boolean
|
|
2909
|
+
description: When true, this card uses a template ZIP artifact.
|
|
2910
|
+
_stackId:
|
|
2911
|
+
type: string
|
|
2912
|
+
format: objectId
|
|
2913
|
+
x-celigo-refModel: stacks
|
|
2914
|
+
examples:
|
|
2915
|
+
- 5f2a1b3c4d5e6f0011889900
|
|
2916
|
+
description: Stack identifier used by install logic (if applicable).
|
|
2917
|
+
isClone:
|
|
2918
|
+
type: boolean
|
|
2919
|
+
description: When true, this card is part of a clone workflow.
|
|
2920
|
+
form:
|
|
2921
|
+
type: object
|
|
2922
|
+
description: Inline form definition used by this card (if applicable).
|
|
2923
|
+
additionalProperties: true
|
|
2924
|
+
mode:
|
|
2925
|
+
type: string
|
|
2926
|
+
description: |-
|
|
2927
|
+
Integration App lifecycle mode.
|
|
2928
|
+
|
|
2929
|
+
Use this only when dealing with Integration App lifecycle workflows.
|
|
2930
|
+
enum:
|
|
2931
|
+
- install
|
|
2932
|
+
- settings
|
|
2933
|
+
- uninstall
|
|
2934
|
+
x-enumDescriptions:
|
|
2935
|
+
install: The integration is being installed or is in the install workflow.
|
|
2936
|
+
settings: The integration is in settings configuration mode.
|
|
2937
|
+
uninstall: The integration is being uninstalled.
|
|
2938
|
+
examples:
|
|
2939
|
+
- install
|
|
2940
|
+
settings:
|
|
2941
|
+
description: Integration App settings object for this integration.
|
|
2942
|
+
allOf:
|
|
2943
|
+
- description: |-
|
|
2944
|
+
Integration App settings object for this integration.
|
|
2945
|
+
|
|
2946
|
+
These values are typically collected via `settingsForm` and then stored here. When generating values,
|
|
2947
|
+
prefer setting only the fields required by the form/workflow and omit unknown keys.
|
|
2948
|
+
- $ref: '#/components/schemas/Settings'
|
|
2949
|
+
version:
|
|
2950
|
+
type:
|
|
2951
|
+
- string
|
|
2952
|
+
- 'null'
|
|
2953
|
+
examples:
|
|
2954
|
+
- 1.2.0
|
|
2955
|
+
description: |-
|
|
2956
|
+
Integration App version (or template version) associated with this integration.
|
|
2957
|
+
|
|
2958
|
+
Usually system-managed for Integration App installs; omit unless you are explicitly controlling versions.
|
|
2959
|
+
tag:
|
|
2960
|
+
type:
|
|
2961
|
+
- string
|
|
2962
|
+
- 'null'
|
|
2963
|
+
examples:
|
|
2964
|
+
- instance-2
|
|
2965
|
+
description: |-
|
|
2966
|
+
Legacy field for distinguishing multiple instances of the same Integration App within a single Celigo environment.
|
|
2967
|
+
|
|
2968
|
+
Only set this when a customer is running multiple installations of the same Integration App. Otherwise, omit this field.
|
|
2969
|
+
updateInProgress:
|
|
2970
|
+
type: boolean
|
|
2971
|
+
description: |-
|
|
2972
|
+
When true, an Integration App update workflow is currently running. Settable via the
|
|
2973
|
+
API, but normally managed by the platform's update workflow.
|
|
2974
|
+
x-celigo-ai-guidance:
|
|
2975
|
+
- Typically system-managed; omit unless a workflow explicitly requires setting it.
|
|
2976
|
+
celigoAgentAutoRunMode:
|
|
2977
|
+
type: boolean
|
|
2978
|
+
examples:
|
|
2979
|
+
- false
|
|
2980
|
+
description: |-
|
|
2981
|
+
When true, Celigo Agent actions scoped to this integration are allowed to run automatically
|
|
2982
|
+
without a manual approval step.
|
|
2983
|
+
|
|
2984
|
+
Omit unless you are explicitly configuring Celigo Agent behavior for this integration.
|
|
2985
|
+
resolvedAt:
|
|
2986
|
+
type: string
|
|
2987
|
+
format: date-time
|
|
2988
|
+
examples:
|
|
2989
|
+
- '2026-01-15T09:30:00.000Z'
|
|
2990
|
+
description: |-
|
|
2991
|
+
Timestamp indicating when the most recent install/update workflow was resolved/completed.
|
|
2992
|
+
|
|
2993
|
+
Typically system-managed; omit in normal create/update payloads.
|
|
2994
|
+
settingsForm:
|
|
2995
|
+
description: Settings form definition for the integration.
|
|
2996
|
+
allOf:
|
|
2997
|
+
- description: |-
|
|
2998
|
+
Settings form definition for the integration.
|
|
2999
|
+
|
|
3000
|
+
This controls the UI fields shown to users to collect `settings`.
|
|
3001
|
+
Unless you are authoring/patching an Integration App definition, omit this field.
|
|
3002
|
+
- $ref: '#/components/schemas/Form'
|
|
3003
|
+
preSave:
|
|
3004
|
+
description: Pre-save hook configuration used to validate/transform settings before saving.
|
|
3005
|
+
allOf:
|
|
3006
|
+
- description: |-
|
|
3007
|
+
Pre-save hook configuration used to validate/transform settings before saving.
|
|
3008
|
+
|
|
3009
|
+
Unless you are authoring/patching an Integration App definition, omit this field.
|
|
3010
|
+
- $ref: '#/components/schemas/PreSave'
|
|
3011
|
+
update:
|
|
3012
|
+
type: object
|
|
3013
|
+
description: |-
|
|
3014
|
+
Script reference used by the platform to perform integration update logic (e.g., migration between versions).
|
|
3015
|
+
|
|
3016
|
+
Only include when the update workflow explicitly requires it.
|
|
3017
|
+
properties:
|
|
3018
|
+
_scriptId:
|
|
3019
|
+
type: string
|
|
3020
|
+
format: objectId
|
|
3021
|
+
x-celigo-refModel: scripts
|
|
3022
|
+
examples:
|
|
3023
|
+
- 5d4e3f2a1b0c9d0011223344
|
|
3024
|
+
description: Script ID that contains the update implementation.
|
|
3025
|
+
_stackId:
|
|
3026
|
+
type: string
|
|
3027
|
+
format: objectId
|
|
3028
|
+
x-celigo-refModel: stacks
|
|
3029
|
+
examples:
|
|
3030
|
+
- 5f2a1b3c4d5e6f0011889900
|
|
3031
|
+
description: Stack ID that provides runtime context for the update script (if applicable).
|
|
3032
|
+
function:
|
|
3033
|
+
type: string
|
|
3034
|
+
examples:
|
|
3035
|
+
- updateIntegration
|
|
3036
|
+
description: Function name within the script to invoke for updates.
|
|
3037
|
+
installSteps:
|
|
3038
|
+
type: array
|
|
3039
|
+
description: |-
|
|
3040
|
+
Ordered list of lifecycle steps used by the Integration App installer.
|
|
3041
|
+
|
|
3042
|
+
This is primarily Integration App workflow metadata. Omit unless you are working with Integration Apps.
|
|
3043
|
+
items:
|
|
3044
|
+
type: object
|
|
3045
|
+
additionalProperties: true
|
|
3046
|
+
required:
|
|
3047
|
+
- name
|
|
3048
|
+
- type
|
|
3049
|
+
properties:
|
|
3050
|
+
name:
|
|
3051
|
+
type: string
|
|
3052
|
+
description: Display name for the step.
|
|
3053
|
+
examples:
|
|
3054
|
+
- Connect to NetSuite
|
|
3055
|
+
description:
|
|
3056
|
+
type: string
|
|
3057
|
+
description: Help text shown to the user for the step.
|
|
3058
|
+
examples:
|
|
3059
|
+
- Authorize access to your NetSuite account.
|
|
3060
|
+
imageUrl:
|
|
3061
|
+
type: string
|
|
3062
|
+
description: Optional image URL for the step.
|
|
3063
|
+
examples:
|
|
3064
|
+
- https://www.celigo.com/images/netsuite.png
|
|
3065
|
+
completed:
|
|
3066
|
+
type: boolean
|
|
3067
|
+
description: When true, this step has been completed.
|
|
3068
|
+
type:
|
|
3069
|
+
type: string
|
|
3070
|
+
description: Step type.
|
|
3071
|
+
x-celigo-ai-guidance:
|
|
3072
|
+
- |-
|
|
3073
|
+
Choose the type that matches the step payload:
|
|
3074
|
+
- `connection`: step uses `_connectionId`
|
|
3075
|
+
- `url`: step uses `url` or `getUrlFunction`
|
|
3076
|
+
- `form`: step uses `form` or `initFormFunction`
|
|
3077
|
+
- `hidden`: step runs silently without user interaction (no payload)
|
|
3078
|
+
- `template_zip`: step uses `templateZip`
|
|
3079
|
+
- `stack`: step uses `_stackId`
|
|
3080
|
+
- `edition`: step participates in license/edition changes
|
|
3081
|
+
enum:
|
|
3082
|
+
- connection
|
|
3083
|
+
- url
|
|
3084
|
+
- form
|
|
3085
|
+
- hidden
|
|
3086
|
+
- template_zip
|
|
3087
|
+
- stack
|
|
3088
|
+
- edition
|
|
3089
|
+
x-enumDescriptions:
|
|
3090
|
+
connection: Step that registers or creates a connection resource.
|
|
3091
|
+
url: Step that opens an external URL during the install workflow.
|
|
3092
|
+
form: Step that collects user input via an inline or dynamic form.
|
|
3093
|
+
hidden: Step that runs silently without user interaction.
|
|
3094
|
+
template_zip: Step that provisions resources from a template ZIP artifact.
|
|
3095
|
+
stack: Step that registers or creates a stack resource.
|
|
3096
|
+
edition: Step that participates in license or edition changes.
|
|
3097
|
+
url:
|
|
3098
|
+
type: string
|
|
3099
|
+
description: 'URL to open (for `type: url`).'
|
|
3100
|
+
examples:
|
|
3101
|
+
- https://www.celigo.com/install/netsuite
|
|
3102
|
+
form:
|
|
3103
|
+
type: object
|
|
3104
|
+
description: 'Inline form definition (for `type: form`).'
|
|
3105
|
+
additionalProperties: true
|
|
3106
|
+
function:
|
|
3107
|
+
type: string
|
|
3108
|
+
description: Function name to run for this step (script-based behavior).
|
|
3109
|
+
examples:
|
|
3110
|
+
- runInstallStep
|
|
3111
|
+
initFormFunction:
|
|
3112
|
+
type: string
|
|
3113
|
+
description: 'Function name used to initialize form data (for `type: form`).'
|
|
3114
|
+
examples:
|
|
3115
|
+
- initSettingsForm
|
|
3116
|
+
_scriptId:
|
|
3117
|
+
type: string
|
|
3118
|
+
format: objectId
|
|
3119
|
+
x-celigo-refModel: scripts
|
|
3120
|
+
examples:
|
|
3121
|
+
- 5d4e3f2a1b0c9d0011223344
|
|
3122
|
+
description: Script that contains `function`, `initFormFunction`, or `getUrlFunction`.
|
|
3123
|
+
sourceConnection:
|
|
3124
|
+
type: object
|
|
3125
|
+
description: Source connection metadata used to drive install behavior.
|
|
3126
|
+
additionalProperties: true
|
|
3127
|
+
templateZip:
|
|
3128
|
+
type: boolean
|
|
3129
|
+
description: When true, this step uses a template ZIP artifact.
|
|
3130
|
+
_connectionId:
|
|
3131
|
+
type: string
|
|
3132
|
+
format: objectId
|
|
3133
|
+
x-celigo-refModel: connections
|
|
3134
|
+
examples:
|
|
3135
|
+
- 6553ebdeda62bb22e7fa81ff
|
|
3136
|
+
description: 'Connection referenced/created by this step (for `type: connection`).'
|
|
3137
|
+
_stackId:
|
|
3138
|
+
type: string
|
|
3139
|
+
format: objectId
|
|
3140
|
+
x-celigo-refModel: stacks
|
|
3141
|
+
examples:
|
|
3142
|
+
- 5f2a1b3c4d5e6f0011889900
|
|
3143
|
+
description: 'Stack referenced/created by this step (for `type: stack`).'
|
|
3144
|
+
isClone:
|
|
3145
|
+
type: boolean
|
|
3146
|
+
description: When true, this step is being applied in a clone workflow.
|
|
3147
|
+
getUrlFunction:
|
|
3148
|
+
type: string
|
|
3149
|
+
description: 'Function name used to compute a URL dynamically (for `type: url`).'
|
|
3150
|
+
examples:
|
|
3151
|
+
- computeInstallURL
|
|
3152
|
+
options:
|
|
3153
|
+
type: object
|
|
3154
|
+
description: Free-form options used by installer logic for this step.
|
|
3155
|
+
additionalProperties: true
|
|
3156
|
+
uninstallSteps:
|
|
3157
|
+
type: array
|
|
3158
|
+
description: Ordered list of lifecycle steps used by the Integration App uninstaller.
|
|
3159
|
+
items:
|
|
3160
|
+
type: object
|
|
3161
|
+
additionalProperties: true
|
|
3162
|
+
required:
|
|
3163
|
+
- name
|
|
3164
|
+
- type
|
|
3165
|
+
properties:
|
|
3166
|
+
name:
|
|
3167
|
+
type: string
|
|
3168
|
+
description: Display name for the step.
|
|
3169
|
+
examples:
|
|
3170
|
+
- Connect to NetSuite
|
|
3171
|
+
description:
|
|
3172
|
+
type: string
|
|
3173
|
+
description: Help text shown to the user for the step.
|
|
3174
|
+
examples:
|
|
3175
|
+
- Authorize access to your NetSuite account.
|
|
3176
|
+
imageUrl:
|
|
3177
|
+
type: string
|
|
3178
|
+
description: Optional image URL for the step.
|
|
3179
|
+
examples:
|
|
3180
|
+
- https://www.celigo.com/images/netsuite.png
|
|
3181
|
+
completed:
|
|
3182
|
+
type: boolean
|
|
3183
|
+
description: When true, this step has been completed.
|
|
3184
|
+
type:
|
|
3185
|
+
type: string
|
|
3186
|
+
description: Step type.
|
|
3187
|
+
x-celigo-ai-guidance:
|
|
3188
|
+
- |-
|
|
3189
|
+
Choose the type that matches the step payload:
|
|
3190
|
+
- `connection`: step uses `_connectionId`
|
|
3191
|
+
- `url`: step uses `url` or `getUrlFunction`
|
|
3192
|
+
- `form`: step uses `form` or `initFormFunction`
|
|
3193
|
+
- `hidden`: step runs silently without user interaction (no payload)
|
|
3194
|
+
- `template_zip`: step uses `templateZip`
|
|
3195
|
+
- `stack`: step uses `_stackId`
|
|
3196
|
+
- `edition`: step participates in license/edition changes
|
|
3197
|
+
enum:
|
|
3198
|
+
- connection
|
|
3199
|
+
- url
|
|
3200
|
+
- form
|
|
3201
|
+
- hidden
|
|
3202
|
+
- template_zip
|
|
3203
|
+
- stack
|
|
3204
|
+
- edition
|
|
3205
|
+
x-enumDescriptions:
|
|
3206
|
+
connection: Step that registers or creates a connection resource.
|
|
3207
|
+
url: Step that opens an external URL during the uninstall workflow.
|
|
3208
|
+
form: Step that collects user input via an inline or dynamic form.
|
|
3209
|
+
hidden: Step that runs silently without user interaction.
|
|
3210
|
+
template_zip: Step that provisions resources from a template ZIP artifact.
|
|
3211
|
+
stack: Step that registers or creates a stack resource.
|
|
3212
|
+
edition: Step that participates in license or edition changes.
|
|
3213
|
+
url:
|
|
3214
|
+
type: string
|
|
3215
|
+
description: 'URL to open (for `type: url`).'
|
|
3216
|
+
examples:
|
|
3217
|
+
- https://www.celigo.com/install/netsuite
|
|
3218
|
+
form:
|
|
3219
|
+
type: object
|
|
3220
|
+
description: 'Inline form definition (for `type: form`).'
|
|
3221
|
+
additionalProperties: true
|
|
3222
|
+
function:
|
|
3223
|
+
type: string
|
|
3224
|
+
description: Function name to run for this step (script-based behavior).
|
|
3225
|
+
examples:
|
|
3226
|
+
- runInstallStep
|
|
3227
|
+
initFormFunction:
|
|
3228
|
+
type: string
|
|
3229
|
+
description: 'Function name used to initialize form data (for `type: form`).'
|
|
3230
|
+
examples:
|
|
3231
|
+
- initSettingsForm
|
|
3232
|
+
_scriptId:
|
|
3233
|
+
type: string
|
|
3234
|
+
format: objectId
|
|
3235
|
+
x-celigo-refModel: scripts
|
|
3236
|
+
examples:
|
|
3237
|
+
- 5d4e3f2a1b0c9d0011223344
|
|
3238
|
+
description: Script that contains `function`, `initFormFunction`, or `getUrlFunction`.
|
|
3239
|
+
sourceConnection:
|
|
3240
|
+
type: object
|
|
3241
|
+
description: Source connection metadata used to drive install behavior.
|
|
3242
|
+
additionalProperties: true
|
|
3243
|
+
templateZip:
|
|
3244
|
+
type: boolean
|
|
3245
|
+
description: When true, this step uses a template ZIP artifact.
|
|
3246
|
+
_connectionId:
|
|
3247
|
+
type: string
|
|
3248
|
+
format: objectId
|
|
3249
|
+
x-celigo-refModel: connections
|
|
3250
|
+
examples:
|
|
3251
|
+
- 6553ebdeda62bb22e7fa81ff
|
|
3252
|
+
description: 'Connection referenced/created by this step (for `type: connection`).'
|
|
3253
|
+
_stackId:
|
|
3254
|
+
type: string
|
|
3255
|
+
format: objectId
|
|
3256
|
+
x-celigo-refModel: stacks
|
|
3257
|
+
examples:
|
|
3258
|
+
- 5f2a1b3c4d5e6f0011889900
|
|
3259
|
+
description: 'Stack referenced/created by this step (for `type: stack`).'
|
|
3260
|
+
isClone:
|
|
3261
|
+
type: boolean
|
|
3262
|
+
description: When true, this step is being applied in a clone workflow.
|
|
3263
|
+
getUrlFunction:
|
|
3264
|
+
type: string
|
|
3265
|
+
description: 'Function name used to compute a URL dynamically (for `type: url`).'
|
|
3266
|
+
examples:
|
|
3267
|
+
- computeInstallURL
|
|
3268
|
+
options:
|
|
3269
|
+
type: object
|
|
3270
|
+
description: Free-form options used by installer logic for this step.
|
|
3271
|
+
additionalProperties: true
|
|
3272
|
+
changeEditionSteps:
|
|
3273
|
+
type: array
|
|
3274
|
+
description: Ordered list of steps used when changing the integration's edition/license.
|
|
3275
|
+
items:
|
|
3276
|
+
type: object
|
|
3277
|
+
additionalProperties: true
|
|
3278
|
+
required:
|
|
3279
|
+
- name
|
|
3280
|
+
- type
|
|
3281
|
+
properties:
|
|
3282
|
+
name:
|
|
3283
|
+
type: string
|
|
3284
|
+
description: Display name for the step.
|
|
3285
|
+
examples:
|
|
3286
|
+
- Connect to NetSuite
|
|
3287
|
+
description:
|
|
3288
|
+
type: string
|
|
3289
|
+
description: Help text shown to the user for the step.
|
|
3290
|
+
examples:
|
|
3291
|
+
- Authorize access to your NetSuite account.
|
|
3292
|
+
imageUrl:
|
|
3293
|
+
type: string
|
|
3294
|
+
description: Optional image URL for the step.
|
|
3295
|
+
examples:
|
|
3296
|
+
- https://www.celigo.com/images/netsuite.png
|
|
3297
|
+
completed:
|
|
3298
|
+
type: boolean
|
|
3299
|
+
description: When true, this step has been completed.
|
|
3300
|
+
type:
|
|
3301
|
+
type: string
|
|
3302
|
+
description: Step type.
|
|
3303
|
+
x-celigo-ai-guidance:
|
|
3304
|
+
- |-
|
|
3305
|
+
Choose the type that matches the step payload:
|
|
3306
|
+
- `connection`: step uses `_connectionId`
|
|
3307
|
+
- `url`: step uses `url` or `getUrlFunction`
|
|
3308
|
+
- `form`: step uses `form` or `initFormFunction`
|
|
3309
|
+
- `hidden`: step runs silently without user interaction (no payload)
|
|
3310
|
+
- `template_zip`: step uses `templateZip`
|
|
3311
|
+
- `stack`: step uses `_stackId`
|
|
3312
|
+
- `edition`: step participates in license/edition changes
|
|
3313
|
+
enum:
|
|
3314
|
+
- connection
|
|
3315
|
+
- url
|
|
3316
|
+
- form
|
|
3317
|
+
- hidden
|
|
3318
|
+
- template_zip
|
|
3319
|
+
- stack
|
|
3320
|
+
- edition
|
|
3321
|
+
x-enumDescriptions:
|
|
3322
|
+
connection: Step that registers or creates a connection resource.
|
|
3323
|
+
url: Step that opens an external URL during the edition change workflow.
|
|
3324
|
+
form: Step that collects user input via an inline or dynamic form.
|
|
3325
|
+
hidden: Step that runs silently without user interaction.
|
|
3326
|
+
template_zip: Step that provisions resources from a template ZIP artifact.
|
|
3327
|
+
stack: Step that registers or creates a stack resource.
|
|
3328
|
+
edition: Step that participates in license or edition changes.
|
|
3329
|
+
url:
|
|
3330
|
+
type: string
|
|
3331
|
+
description: 'URL to open (for `type: url`).'
|
|
3332
|
+
examples:
|
|
3333
|
+
- https://www.celigo.com/install/netsuite
|
|
3334
|
+
form:
|
|
3335
|
+
type: object
|
|
3336
|
+
description: 'Inline form definition (for `type: form`).'
|
|
3337
|
+
additionalProperties: true
|
|
3338
|
+
function:
|
|
3339
|
+
type: string
|
|
3340
|
+
description: Function name to run for this step (script-based behavior).
|
|
3341
|
+
examples:
|
|
3342
|
+
- runInstallStep
|
|
3343
|
+
initFormFunction:
|
|
3344
|
+
type: string
|
|
3345
|
+
description: 'Function name used to initialize form data (for `type: form`).'
|
|
3346
|
+
examples:
|
|
3347
|
+
- initSettingsForm
|
|
3348
|
+
_scriptId:
|
|
3349
|
+
type: string
|
|
3350
|
+
format: objectId
|
|
3351
|
+
x-celigo-refModel: scripts
|
|
3352
|
+
examples:
|
|
3353
|
+
- 5d4e3f2a1b0c9d0011223344
|
|
3354
|
+
description: Script that contains `function`, `initFormFunction`, or `getUrlFunction`.
|
|
3355
|
+
sourceConnection:
|
|
3356
|
+
type: object
|
|
3357
|
+
description: Source connection metadata used to drive install behavior.
|
|
3358
|
+
additionalProperties: true
|
|
3359
|
+
templateZip:
|
|
3360
|
+
type: boolean
|
|
3361
|
+
description: When true, this step uses a template ZIP artifact.
|
|
3362
|
+
_connectionId:
|
|
3363
|
+
type: string
|
|
3364
|
+
format: objectId
|
|
3365
|
+
x-celigo-refModel: connections
|
|
3366
|
+
examples:
|
|
3367
|
+
- 6553ebdeda62bb22e7fa81ff
|
|
3368
|
+
description: 'Connection referenced/created by this step (for `type: connection`).'
|
|
3369
|
+
_stackId:
|
|
3370
|
+
type: string
|
|
3371
|
+
format: objectId
|
|
3372
|
+
x-celigo-refModel: stacks
|
|
3373
|
+
examples:
|
|
3374
|
+
- 5f2a1b3c4d5e6f0011889900
|
|
3375
|
+
description: 'Stack referenced/created by this step (for `type: stack`).'
|
|
3376
|
+
isClone:
|
|
3377
|
+
type: boolean
|
|
3378
|
+
description: When true, this step is being applied in a clone workflow.
|
|
3379
|
+
getUrlFunction:
|
|
3380
|
+
type: string
|
|
3381
|
+
description: 'Function name used to compute a URL dynamically (for `type: url`).'
|
|
3382
|
+
examples:
|
|
3383
|
+
- computeInstallURL
|
|
3384
|
+
options:
|
|
3385
|
+
type: object
|
|
3386
|
+
description: Free-form options used by installer logic for this step.
|
|
3387
|
+
additionalProperties: true
|
|
3388
|
+
pendingLicense:
|
|
3389
|
+
type:
|
|
3390
|
+
- object
|
|
3391
|
+
- 'null'
|
|
3392
|
+
description: |-
|
|
3393
|
+
Pending license/edition change information for the integration.
|
|
3394
|
+
|
|
3395
|
+
The server returns `null` when no license/edition change is pending (rather than omitting the field).
|
|
3396
|
+
Only include when a license/edition change workflow explicitly requires it.
|
|
3397
|
+
properties:
|
|
3398
|
+
opts:
|
|
3399
|
+
type: object
|
|
3400
|
+
description: Free-form license options/payload.
|
|
3401
|
+
additionalProperties: true
|
|
3402
|
+
_editionId:
|
|
3403
|
+
type:
|
|
3404
|
+
- string
|
|
3405
|
+
- 'null'
|
|
3406
|
+
format: objectId
|
|
3407
|
+
examples:
|
|
3408
|
+
- 5e6f7a8b9c0d1e0011334455
|
|
3409
|
+
description: Target edition ID for the pending license change, or `null` when cleared.
|
|
3410
|
+
_parentId:
|
|
3411
|
+
type: string
|
|
3412
|
+
format: objectId
|
|
3413
|
+
x-celigo-refModel: integrations
|
|
3414
|
+
examples:
|
|
3415
|
+
- 6842261335b64c0bcb308e4f
|
|
3416
|
+
description: |-
|
|
3417
|
+
Parent integration ID when this integration was created as a child of another integration.
|
|
3418
|
+
Invalid ids are silently dropped by the server. Omit unless creating/updating child integrations.
|
|
3419
|
+
childDisplayName:
|
|
3420
|
+
type: string
|
|
3421
|
+
examples:
|
|
3422
|
+
- West region store
|
|
3423
|
+
description: |-
|
|
3424
|
+
Display name used for a child integration created during installation.
|
|
3425
|
+
|
|
3426
|
+
Omit unless creating/updating child integrations.
|
|
3427
|
+
initChild:
|
|
3428
|
+
type: object
|
|
3429
|
+
description: |-
|
|
3430
|
+
Script reference used to initialize a child integration during installation.
|
|
3431
|
+
|
|
3432
|
+
Only include when the child initialization workflow explicitly requires it.
|
|
3433
|
+
properties:
|
|
3434
|
+
function:
|
|
3435
|
+
type: string
|
|
3436
|
+
examples:
|
|
3437
|
+
- initChildIntegration
|
|
3438
|
+
description: Function name to invoke to initialize the child integration.
|
|
3439
|
+
_scriptId:
|
|
3440
|
+
type: string
|
|
3441
|
+
format: objectId
|
|
3442
|
+
x-celigo-refModel: scripts
|
|
3443
|
+
examples:
|
|
3444
|
+
- 5d4e3f2a1b0c9d0011223344
|
|
3445
|
+
description: Script ID that contains the initChild function.
|
|
3446
|
+
_stackId:
|
|
3447
|
+
type: string
|
|
3448
|
+
format: objectId
|
|
3449
|
+
x-celigo-refModel: stacks
|
|
3450
|
+
examples:
|
|
3451
|
+
- 5f2a1b3c4d5e6f0011889900
|
|
3452
|
+
description: Stack ID that provides runtime context for initChild (if applicable).
|
|
3453
|
+
flowGroupings:
|
|
3454
|
+
type: array
|
|
3455
|
+
description: |-
|
|
3456
|
+
UI grouping configuration that groups an integration's flows into named
|
|
3457
|
+
sections. Works on ANY integration — this is NOT an Integration-App-only
|
|
3458
|
+
feature; a plain integration can define flow groupings too.
|
|
3459
|
+
|
|
3460
|
+
Omit unless you are explicitly configuring flow grouping behavior.
|
|
3461
|
+
x-celigo-ai-guidance:
|
|
3462
|
+
- |-
|
|
3463
|
+
Set this ONLY when the user explicitly asks to group flows into named sections (e.g.
|
|
3464
|
+
"create the integration with flow groups Order Intake and Fulfillment").
|
|
3465
|
+
Otherwise omit it — do not synthesize groupings the user did not ask for.
|
|
3466
|
+
items:
|
|
3467
|
+
type: object
|
|
3468
|
+
additionalProperties: true
|
|
3469
|
+
required:
|
|
3470
|
+
- name
|
|
3471
|
+
properties:
|
|
3472
|
+
_id:
|
|
3473
|
+
type: string
|
|
3474
|
+
format: objectId
|
|
3475
|
+
readOnly: true
|
|
3476
|
+
description: Server-assigned grouping id.
|
|
3477
|
+
name:
|
|
3478
|
+
type: string
|
|
3479
|
+
description: Display name for the flow grouping section.
|
|
3480
|
+
examples:
|
|
3481
|
+
- Order sync
|
|
3482
|
+
settings:
|
|
3483
|
+
type: object
|
|
3484
|
+
description: |-
|
|
3485
|
+
Group-level settings for flows in this group. At runtime, flows in the
|
|
3486
|
+
group read these values under the fixed scope key `flowGrouping` — e.g.
|
|
3487
|
+
the Handlebars expression `{{{settings.flowGrouping.salesOrganization}}}`
|
|
3488
|
+
or the Mapper 2.0 envelope path `$.settings.flowGrouping.salesOrganization`.
|
|
3489
|
+
additionalProperties: true
|
|
3490
|
+
x-celigo-ai-guidance:
|
|
3491
|
+
- |-
|
|
3492
|
+
Segments after the `flowGrouping` scope key mirror the stored settings JSON
|
|
3493
|
+
key path exactly — nested objects add one segment per JSON key. E.g. when
|
|
3494
|
+
the grouping's settings JSON is `{"Customer": {"region": "west"}}`, the
|
|
3495
|
+
runtime reference is `{{{settings.flowGrouping.Customer.region}}}`
|
|
3496
|
+
(`Customer` is a JSON key here, not a settingsForm section label).
|
|
3497
|
+
- |-
|
|
3498
|
+
The runtime reference path always uses the literal scope key `flowGrouping`,
|
|
3499
|
+
never the grouping's `name` or any settingsForm section label. Both
|
|
3500
|
+
`{{settings.<fieldId>}}` (scope key missing) and paths built from UI labels
|
|
3501
|
+
(e.g. `{{settings.<groupName>.<sectionLabel>.<fieldId>}}`) silently resolve
|
|
3502
|
+
to empty strings at runtime.
|
|
3503
|
+
settingsForm:
|
|
3504
|
+
description: Form definition for this flow grouping's settings UI.
|
|
3505
|
+
allOf:
|
|
3506
|
+
- description: Form definition for this flow grouping's settings UI.
|
|
3507
|
+
- $ref: '#/components/schemas/Form'
|
|
3508
|
+
apiGroupings:
|
|
3509
|
+
type: array
|
|
3510
|
+
description: |-
|
|
3511
|
+
UI grouping configuration for APIs within the integration.
|
|
3512
|
+
|
|
3513
|
+
Used to group APIs into named sections with their own settings/settingsForm.
|
|
3514
|
+
Works identically to `flowGroupings` but for API resources. Create groupings here,
|
|
3515
|
+
then assign APIs to them via `PUT /v1/apis/updateApiGrouping`.
|
|
3516
|
+
items:
|
|
3517
|
+
type: object
|
|
3518
|
+
additionalProperties: true
|
|
3519
|
+
required:
|
|
3520
|
+
- name
|
|
3521
|
+
properties:
|
|
3522
|
+
_id:
|
|
3523
|
+
type: string
|
|
3524
|
+
format: objectId
|
|
3525
|
+
readOnly: true
|
|
3526
|
+
description: Server-assigned grouping id.
|
|
3527
|
+
name:
|
|
3528
|
+
type: string
|
|
3529
|
+
description: Display name for the API grouping section.
|
|
3530
|
+
examples:
|
|
3531
|
+
- Inventory APIs
|
|
3532
|
+
settings:
|
|
3533
|
+
type: object
|
|
3534
|
+
description: Group-level settings for APIs in this group.
|
|
3535
|
+
additionalProperties: true
|
|
3536
|
+
x-celigo-ai-guidance:
|
|
3537
|
+
- |-
|
|
3538
|
+
Unlike `flowGroupings[].settings`, this object does not round-trip through the
|
|
3539
|
+
public API: `settings` values sent on POST/PATCH/PUT are silently discarded and
|
|
3540
|
+
the persisted grouping keeps only `_id` and `name`. API executions also receive
|
|
3541
|
+
no integration-document-level settings in their runtime `settings` context, so
|
|
3542
|
+
grouping values could not be referenced from grouped APIs' steps in any case.
|
|
3543
|
+
For values an API's steps must read at runtime, define them in the step
|
|
3544
|
+
resource's own `settings`.
|
|
3545
|
+
settingsForm:
|
|
3546
|
+
description: Form definition for this API grouping's settings UI.
|
|
3547
|
+
allOf:
|
|
3548
|
+
- description: Form definition for this API grouping's settings UI.
|
|
3549
|
+
- $ref: '#/components/schemas/Form'
|
|
3550
|
+
netSuiteDistributedAdaptor:
|
|
3551
|
+
type: object
|
|
3552
|
+
description: |-
|
|
3553
|
+
NetSuite distributed adaptor metadata (platform feature).
|
|
3554
|
+
|
|
3555
|
+
Only include if you are explicitly configuring distributed NetSuite adaptor behavior.
|
|
3556
|
+
properties:
|
|
3557
|
+
accountId:
|
|
3558
|
+
type: string
|
|
3559
|
+
examples:
|
|
3560
|
+
- TSTDRV1234567
|
|
3561
|
+
description: NetSuite account identifier.
|
|
3562
|
+
environment:
|
|
3563
|
+
type: string
|
|
3564
|
+
description: NetSuite environment.
|
|
3565
|
+
enum:
|
|
3566
|
+
- production
|
|
3567
|
+
- beta
|
|
3568
|
+
- sandbox
|
|
3569
|
+
x-enumDescriptions:
|
|
3570
|
+
production: The NetSuite production environment.
|
|
3571
|
+
beta: The NetSuite beta/release-preview environment.
|
|
3572
|
+
sandbox: A dedicated NetSuite sandbox account environment.
|
|
3573
|
+
integrationId:
|
|
3574
|
+
type: string
|
|
3575
|
+
examples:
|
|
3576
|
+
- celigo_integration_app
|
|
3577
|
+
description: Identifier used by the distributed adaptor for this integration.
|
|
3578
|
+
_sourceId:
|
|
3579
|
+
type: string
|
|
3580
|
+
format: objectId
|
|
3581
|
+
examples:
|
|
3582
|
+
- 6842261335b64c0bcb308e4f
|
|
3583
|
+
description: |-
|
|
3584
|
+
System-assigned source identifier for the integration.
|
|
3585
|
+
|
|
3586
|
+
Typically system-managed; omit in normal create/update payloads.
|
|
3587
|
+
sampleIntegration:
|
|
3588
|
+
type: boolean
|
|
3589
|
+
description: |-
|
|
3590
|
+
Indicates this integration is a sample/demo integration (used for templates/examples).
|
|
3591
|
+
|
|
3592
|
+
Typically system-managed.
|
|
3593
|
+
syncs:
|
|
3594
|
+
type: boolean
|
|
3595
|
+
description: |-
|
|
3596
|
+
Indicates whether this integration uses Sync resources.
|
|
3597
|
+
|
|
3598
|
+
Typically system-managed.
|
|
3599
|
+
aliases:
|
|
3600
|
+
type: array
|
|
3601
|
+
description: Named aliases that map to specific resources within the integration.
|
|
3602
|
+
items:
|
|
3603
|
+
type: object
|
|
3604
|
+
properties:
|
|
3605
|
+
alias:
|
|
3606
|
+
type: string
|
|
3607
|
+
description: Alias name for the resource reference.
|
|
3608
|
+
examples:
|
|
3609
|
+
- ordersExport
|
|
3610
|
+
description:
|
|
3611
|
+
type: string
|
|
3612
|
+
description: Description of what this alias represents.
|
|
3613
|
+
examples:
|
|
3614
|
+
- Shopify orders export used across flows.
|
|
3615
|
+
_exportId:
|
|
3616
|
+
type: string
|
|
3617
|
+
format: objectId
|
|
3618
|
+
x-celigo-refModel: exports
|
|
3619
|
+
examples:
|
|
3620
|
+
- 69f54d6a3469e3f5597848a1
|
|
3621
|
+
description: Export referenced by this alias.
|
|
3622
|
+
_importId:
|
|
3623
|
+
type: string
|
|
3624
|
+
format: objectId
|
|
3625
|
+
x-celigo-refModel: imports
|
|
3626
|
+
examples:
|
|
3627
|
+
- 69f54d6c1e7f3a22cc7848b2
|
|
3628
|
+
description: Import referenced by this alias.
|
|
3629
|
+
_flowId:
|
|
3630
|
+
type: string
|
|
3631
|
+
format: objectId
|
|
3632
|
+
x-celigo-refModel: flows
|
|
3633
|
+
examples:
|
|
3634
|
+
- 69f54d6b7009ea11abad707a
|
|
3635
|
+
description: Flow referenced by this alias.
|
|
3636
|
+
_connectionId:
|
|
3637
|
+
type: string
|
|
3638
|
+
format: objectId
|
|
3639
|
+
x-celigo-refModel: connections
|
|
3640
|
+
examples:
|
|
3641
|
+
- 626168f90b6ef816b50c82d7
|
|
3642
|
+
description: Connection referenced by this alias.
|
|
3643
|
+
_lookupCacheId:
|
|
3644
|
+
type: string
|
|
3645
|
+
format: objectId
|
|
3646
|
+
x-celigo-refModel: lookupcaches
|
|
3647
|
+
examples:
|
|
3648
|
+
- 68680d7111d1437fbcbce534
|
|
3649
|
+
description: |-
|
|
3650
|
+
Lookup cache referenced by this alias. Added automatically when the
|
|
3651
|
+
cache is registered to the integration (the alias is a slug of the
|
|
3652
|
+
cache name), and must be removed before the cache can be deregistered.
|
|
3653
|
+
iLMIgnore:
|
|
3654
|
+
type: object
|
|
3655
|
+
description: Configuration to exclude specific resources from integration lifecycle management.
|
|
3656
|
+
additionalProperties: true
|
|
3657
|
+
ResourceResponse:
|
|
3658
|
+
type: object
|
|
3659
|
+
description: Response
|
|
3660
|
+
x-celigo-ai-guidance:
|
|
3661
|
+
- Core response fields shared by all Celigo resources
|
|
3662
|
+
properties:
|
|
3663
|
+
_id:
|
|
3664
|
+
type: string
|
|
3665
|
+
format: objectId
|
|
3666
|
+
readOnly: true
|
|
3667
|
+
description: Unique identifier for the resource. Format is a 24-character hexadecimal string.
|
|
3668
|
+
x-celigo-ai-guidance:
|
|
3669
|
+
- |-
|
|
3670
|
+
The _id is used in:
|
|
3671
|
+
- API endpoints that operate on a specific resource (e.g., GET, PUT, DELETE)
|
|
3672
|
+
- References from other resources (e.g., flows that use this resource)
|
|
3673
|
+
- Job history and error tracking
|
|
3674
|
+
examples:
|
|
3675
|
+
- 5f8d43a1b9e5a80011a35f2c
|
|
3676
|
+
createdAt:
|
|
3677
|
+
type: string
|
|
3678
|
+
format: date-time
|
|
3679
|
+
readOnly: true
|
|
3680
|
+
description: Timestamp when the resource was created. Set automatically and cannot be modified.
|
|
3681
|
+
x-celigo-ai-guidance:
|
|
3682
|
+
- Recorded in ISO 8601 with a UTC timezone (Z suffix).
|
|
3683
|
+
examples:
|
|
3684
|
+
- '2023-04-01T09:15:32Z'
|
|
3685
|
+
lastModified:
|
|
3686
|
+
type: string
|
|
3687
|
+
format: date-time
|
|
3688
|
+
readOnly: true
|
|
3689
|
+
description: Timestamp when the resource was last updated. Changes whenever any property is modified.
|
|
3690
|
+
x-celigo-ai-guidance:
|
|
3691
|
+
- Recorded in ISO 8601 with a UTC timezone (Z suffix); always equal to or later than `createdAt`.
|
|
3692
|
+
examples:
|
|
3693
|
+
- '2023-04-15T14:30:15Z'
|
|
3694
|
+
deletedAt:
|
|
3695
|
+
type:
|
|
3696
|
+
- string
|
|
3697
|
+
- 'null'
|
|
3698
|
+
format: date-time
|
|
3699
|
+
readOnly: true
|
|
3700
|
+
description: Timestamp when the resource was soft-deleted. When null or absent, the resource is active.
|
|
3701
|
+
x-celigo-ai-guidance:
|
|
3702
|
+
- Non-null means the resource is soft-deleted (in the recycle bin) — recoverable within the retention period before permanent removal.
|
|
3703
|
+
examples:
|
|
3704
|
+
- '2023-05-20T11:45:32Z'
|
|
3705
|
+
required:
|
|
3706
|
+
- _id
|
|
3707
|
+
Integration:
|
|
3708
|
+
type: object
|
|
3709
|
+
description: Integration object as returned by the API.
|
|
3710
|
+
required:
|
|
3711
|
+
- _id
|
|
3712
|
+
- name
|
|
3713
|
+
- createdAt
|
|
3714
|
+
- lastModified
|
|
3715
|
+
- install
|
|
3716
|
+
- installSteps
|
|
3717
|
+
- uninstallSteps
|
|
3718
|
+
- changeEditionSteps
|
|
3719
|
+
- flowGroupings
|
|
3720
|
+
- apiGroupings
|
|
3721
|
+
- _registeredConnectionIds
|
|
3722
|
+
allOf:
|
|
3723
|
+
- $ref: '#/components/schemas/IntegrationBase'
|
|
3724
|
+
- $ref: '#/components/schemas/ResourceResponse'
|
|
3725
|
+
- type: object
|
|
3726
|
+
properties:
|
|
3727
|
+
_registeredConnectionIds:
|
|
3728
|
+
type: array
|
|
3729
|
+
readOnly: true
|
|
3730
|
+
description: |-
|
|
3731
|
+
Connections registered to this integration. Managed by the platform when users
|
|
3732
|
+
register connections through the UI or the integration's registerConnection
|
|
3733
|
+
operation; client-sent values are ignored (PUT-verified).
|
|
3734
|
+
items:
|
|
3735
|
+
type: string
|
|
3736
|
+
format: objectId
|
|
3737
|
+
x-celigo-refModel: connections
|
|
3738
|
+
x-celigo-ai-guidance:
|
|
3739
|
+
- |-
|
|
3740
|
+
This is managed by the platform when users register connections through the UI or when using the
|
|
3741
|
+
Integration “registerConnection” API operation. It is not set via normal integration create/update requests.
|
|
3742
|
+
_registeredLookupCacheIds:
|
|
3743
|
+
type: array
|
|
3744
|
+
readOnly: true
|
|
3745
|
+
description: Lookup caches registered to this integration, managed by the platform.
|
|
3746
|
+
items:
|
|
3747
|
+
type: string
|
|
3748
|
+
format: objectId
|
|
3749
|
+
x-celigo-refModel: lookupcaches
|
|
3750
|
+
Request:
|
|
3751
|
+
type: object
|
|
3752
|
+
description: Fields that can be sent when creating or updating an integration.
|
|
3753
|
+
required:
|
|
3754
|
+
- name
|
|
3755
|
+
allOf:
|
|
3756
|
+
- $ref: '#/components/schemas/IntegrationBase'
|
|
3757
|
+
Error:
|
|
3758
|
+
type: object
|
|
3759
|
+
description: Standard error response envelope returned by integrator.io APIs.
|
|
3760
|
+
properties:
|
|
3761
|
+
errors:
|
|
3762
|
+
type: array
|
|
3763
|
+
description: List of errors that occurred while processing the request.
|
|
3764
|
+
items:
|
|
3765
|
+
type: object
|
|
3766
|
+
properties:
|
|
3767
|
+
code:
|
|
3768
|
+
oneOf:
|
|
3769
|
+
- type: string
|
|
3770
|
+
- type: integer
|
|
3771
|
+
description: |-
|
|
3772
|
+
Machine-readable error code. Usually a string like
|
|
3773
|
+
`invalid_ref`, `missing_required_field`, or `unauthorized`;
|
|
3774
|
+
may be an **integer** when the error mirrors an upstream HTTP
|
|
3775
|
+
status (e.g. `500`) — most commonly returned by connection-ping
|
|
3776
|
+
and adaptor-proxy responses.
|
|
3777
|
+
message:
|
|
3778
|
+
type: string
|
|
3779
|
+
description: Human-readable description of the error.
|
|
3780
|
+
field:
|
|
3781
|
+
type: string
|
|
3782
|
+
description: |-
|
|
3783
|
+
Optional pointer to the document field that caused the error.
|
|
3784
|
+
Used by structural validation errors (`missing_required_field`,
|
|
3785
|
+
`invalid_ref`) to indicate which field is at fault
|
|
3786
|
+
(e.g. `_id`, `type`, `http.baseURI`).
|
|
3787
|
+
source:
|
|
3788
|
+
type: string
|
|
3789
|
+
description: |-
|
|
3790
|
+
Optional origin layer for the error — e.g. `application` when
|
|
3791
|
+
the error came from the remote system the adaptor called,
|
|
3792
|
+
`connector` when the adaptor itself rejected the request.
|
|
3793
|
+
required:
|
|
3794
|
+
- message
|
|
3795
|
+
required:
|
|
3796
|
+
- errors
|
|
3797
|
+
JsonPatchOperation:
|
|
3798
|
+
type: object
|
|
3799
|
+
description: A single JSON Patch operation (RFC 6902).
|
|
3800
|
+
required:
|
|
3801
|
+
- op
|
|
3802
|
+
- path
|
|
3803
|
+
properties:
|
|
3804
|
+
op:
|
|
3805
|
+
type: string
|
|
3806
|
+
enum:
|
|
3807
|
+
- replace
|
|
3808
|
+
- add
|
|
3809
|
+
- remove
|
|
3810
|
+
x-enumDescriptions:
|
|
3811
|
+
replace: Replaces the value at the specified path.
|
|
3812
|
+
add: Sets the value at the specified path.
|
|
3813
|
+
remove: Removes the value at the specified path.
|
|
3814
|
+
description: The operation to perform.
|
|
3815
|
+
path:
|
|
3816
|
+
type: string
|
|
3817
|
+
description: |-
|
|
3818
|
+
JSON Pointer (RFC 6901) to the field to patch. Only
|
|
3819
|
+
whitelisted paths are accepted — unlisted paths return
|
|
3820
|
+
`422` with `"<path> is not a whitelisted property"`.
|
|
3821
|
+
value:
|
|
3822
|
+
description: The new value to set. Required for `replace` and `add`, omit for `remove`.
|
|
3823
|
+
JsonPatchRequest:
|
|
3824
|
+
type: array
|
|
3825
|
+
description: |-
|
|
3826
|
+
A JSON Patch document (RFC 6902). Send an array of patch
|
|
3827
|
+
operations on whitelisted fields — all other paths are rejected
|
|
3828
|
+
with 422.
|
|
3829
|
+
minItems: 1
|
|
3830
|
+
items:
|
|
3831
|
+
$ref: '#/components/schemas/JsonPatchOperation'
|
|
3832
|
+
CloneRequest:
|
|
3833
|
+
type: object
|
|
3834
|
+
description: Request body for cloning an integration.
|
|
3835
|
+
required:
|
|
3836
|
+
- connectionMap
|
|
3837
|
+
properties:
|
|
3838
|
+
name:
|
|
3839
|
+
type: string
|
|
3840
|
+
description: Name for the cloned integration. If omitted, the server generates "Clone - <original name>".
|
|
3841
|
+
examples:
|
|
3842
|
+
- Clone - Integration 1
|
|
3843
|
+
description:
|
|
3844
|
+
type: string
|
|
3845
|
+
description: Description for the cloned integration.
|
|
3846
|
+
examples:
|
|
3847
|
+
- Cloned copy of the Shopify to NetSuite orders integration.
|
|
3848
|
+
_envId:
|
|
3849
|
+
type: string
|
|
3850
|
+
format: objectId
|
|
3851
|
+
x-celigo-refModel: environments
|
|
3852
|
+
description: |
|
|
3853
|
+
Target environment _id. When provided, the clone is created in the
|
|
3854
|
+
specified environment instead of the current one. Use
|
|
3855
|
+
GET /v1/environments to list available environments and their _ids.
|
|
3856
|
+
Omit to clone within the same environment.
|
|
3857
|
+
examples:
|
|
3858
|
+
- 67b123456789abcdef012345
|
|
3859
|
+
connectionMap:
|
|
3860
|
+
type: object
|
|
3861
|
+
description: |
|
|
3862
|
+
Mapping of original connection _ids to replacement connection _ids.
|
|
3863
|
+
Keys are source connection _ids on the original integration; values
|
|
3864
|
+
are target connection _ids in the destination environment.
|
|
3865
|
+
additionalProperties:
|
|
3866
|
+
type: string
|
|
3867
|
+
example:
|
|
3868
|
+
5f7c579b6411271af4e7cefa: 64a1234567890abcdef12345
|
|
3869
|
+
5f7c579b6411271af4e7cefb: 64a1234567890abcdef12346
|
|
3870
|
+
additionalProperties: true
|
|
3871
|
+
CloneResponse:
|
|
3872
|
+
description: Response body for a clone operation. Some clone endpoints return the cloned resource, while others may return a list of related created resources.
|
|
3873
|
+
oneOf:
|
|
3874
|
+
- title: integration
|
|
3875
|
+
$ref: '#/components/schemas/Integration'
|
|
3876
|
+
- title: resource list
|
|
3877
|
+
type: array
|
|
3878
|
+
items:
|
|
3879
|
+
type: object
|
|
3880
|
+
properties:
|
|
3881
|
+
model:
|
|
3882
|
+
type: string
|
|
3883
|
+
description: Model name of the created resource (e.g., Flow, Export, Import).
|
|
3884
|
+
examples:
|
|
3885
|
+
- Flow
|
|
3886
|
+
_id:
|
|
3887
|
+
type: string
|
|
3888
|
+
format: objectId
|
|
3889
|
+
description: Unique id of the created resource.
|
|
3890
|
+
examples:
|
|
3891
|
+
- 68f52162f00a35a1b26eaafb
|
|
3892
|
+
name:
|
|
3893
|
+
type: string
|
|
3894
|
+
description: Optional name of the created resource.
|
|
3895
|
+
examples:
|
|
3896
|
+
- Clone - Shopify orders → NetSuite
|
|
3897
|
+
required:
|
|
3898
|
+
- _id
|
|
3899
|
+
ClonePreviewResponse:
|
|
3900
|
+
type: object
|
|
3901
|
+
description: |
|
|
3902
|
+
Preview of the resources that would be created by a clone operation.
|
|
3903
|
+
Each object in the `objects` array represents a resource that will be
|
|
3904
|
+
cloned, including the target resource and all transitive dependencies
|
|
3905
|
+
(connections, scripts, exports, imports, etc.).
|
|
3906
|
+
properties:
|
|
3907
|
+
objects:
|
|
3908
|
+
type: array
|
|
3909
|
+
description: |
|
|
3910
|
+
List of resources that would be created by the clone. Always includes
|
|
3911
|
+
the target resource and may include transitive dependencies such as
|
|
3912
|
+
connections, scripts, exports, imports, async helpers, and lookup caches.
|
|
3913
|
+
items:
|
|
3914
|
+
type: object
|
|
3915
|
+
properties:
|
|
3916
|
+
model:
|
|
3917
|
+
type: string
|
|
3918
|
+
description: |
|
|
3919
|
+
The model type of the resource. Observed values include
|
|
3920
|
+
AsyncHelper, Connection, Export, Flow, Import, Integration,
|
|
3921
|
+
LookupCache, Script, and Tool.
|
|
3922
|
+
examples:
|
|
3923
|
+
- Flow
|
|
3924
|
+
doc:
|
|
3925
|
+
type: object
|
|
3926
|
+
description: The full resource document that would be created by the clone.
|
|
3927
|
+
additionalProperties: true
|
|
3928
|
+
stackRequired:
|
|
3929
|
+
type: boolean
|
|
3930
|
+
description: Whether the clone requires a stack (connector-level) environment to proceed.
|
|
3931
|
+
_stackId:
|
|
3932
|
+
type:
|
|
3933
|
+
- string
|
|
3934
|
+
- 'null'
|
|
3935
|
+
description: The stack id associated with the resource, or null if no stack is involved.
|
|
3936
|
+
examples:
|
|
3937
|
+
- 5f8d43a1b9e5a80011a35f2c
|
|
3938
|
+
Revision:
|
|
3939
|
+
type: object
|
|
3940
|
+
description: |-
|
|
3941
|
+
Integration Lifecycle Management (ILM) revision entry. Revisions capture point-in-time state of an
|
|
3942
|
+
integration and drive snapshot, pull, and revert workflows across environments.
|
|
3943
|
+
properties:
|
|
3944
|
+
_id:
|
|
3945
|
+
type: string
|
|
3946
|
+
format: objectId
|
|
3947
|
+
description: Revision id.
|
|
3948
|
+
examples:
|
|
3949
|
+
- 6a28d2af6d42eb08f8e863e7
|
|
3950
|
+
_integrationId:
|
|
3951
|
+
type: string
|
|
3952
|
+
format: objectId
|
|
3953
|
+
description: Id of the integration this revision belongs to.
|
|
3954
|
+
x-celigo-refModel: integrations
|
|
3955
|
+
examples:
|
|
3956
|
+
- 6842261335b64c0bcb308e4f
|
|
3957
|
+
_fromIntegrationId:
|
|
3958
|
+
type: string
|
|
3959
|
+
format: objectId
|
|
3960
|
+
description: |-
|
|
3961
|
+
For `pull` / `revert` revisions, the id of the source integration the changes originated from.
|
|
3962
|
+
For `snapshot` revisions this equals `_integrationId`.
|
|
3963
|
+
x-celigo-refModel: integrations
|
|
3964
|
+
examples:
|
|
3965
|
+
- 6842261335b64c0bcb308e4f
|
|
3966
|
+
_fromIntegrationEnvId:
|
|
3967
|
+
type: string
|
|
3968
|
+
format: objectId
|
|
3969
|
+
description: Environment id of the source integration.
|
|
3970
|
+
examples:
|
|
3971
|
+
- 67b123456789abcdef012345
|
|
3972
|
+
fromIntegrationName:
|
|
3973
|
+
type: string
|
|
3974
|
+
description: Display name of the source integration at revision time (frozen copy).
|
|
3975
|
+
examples:
|
|
3976
|
+
- Shopify → NetSuite Orders
|
|
3977
|
+
type:
|
|
3978
|
+
type: string
|
|
3979
|
+
description: Revision kind.
|
|
3980
|
+
enum:
|
|
3981
|
+
- snapshot
|
|
3982
|
+
- pull
|
|
3983
|
+
- revert
|
|
3984
|
+
x-enumDescriptions:
|
|
3985
|
+
snapshot: Point-in-time capture of the current integration state.
|
|
3986
|
+
pull: Changes pulled in from a related integration in another environment or clone.
|
|
3987
|
+
revert: Restoration of the integration to a prior revision state.
|
|
3988
|
+
status:
|
|
3989
|
+
type: string
|
|
3990
|
+
description: |-
|
|
3991
|
+
Lifecycle status. `completed` revisions are terminal; `inprogress` (pull/revert) revisions can
|
|
3992
|
+
be diffed and either applied or canceled. `failed` revisions surfaced an error mid-process;
|
|
3993
|
+
`canceled` revisions were aborted before apply.
|
|
3994
|
+
enum:
|
|
3995
|
+
- inprogress
|
|
3996
|
+
- completed
|
|
3997
|
+
- failed
|
|
3998
|
+
- canceled
|
|
3999
|
+
x-enumDescriptions:
|
|
4000
|
+
inprogress: The revision is currently being prepared and can be diffed, applied, or canceled.
|
|
4001
|
+
completed: The revision has been finalized and applied successfully.
|
|
4002
|
+
failed: The revision encountered an error during processing.
|
|
4003
|
+
canceled: The revision was aborted before being applied.
|
|
4004
|
+
description:
|
|
4005
|
+
type: string
|
|
4006
|
+
description: Human-entered label describing what the revision captures.
|
|
4007
|
+
examples:
|
|
4008
|
+
- Stable baseline before deploying v2
|
|
4009
|
+
beforeRevisionHash:
|
|
4010
|
+
type: string
|
|
4011
|
+
description: Content hash of the integration state prior to this revision.
|
|
4012
|
+
examples:
|
|
4013
|
+
- 34b7ae8d56563e242bc0bd42fd28874442657e58
|
|
4014
|
+
transactionHash:
|
|
4015
|
+
type: string
|
|
4016
|
+
description: |-
|
|
4017
|
+
Transaction hash of the revision write. Present on `pull` and `revert` revisions; absent on
|
|
4018
|
+
plain snapshots.
|
|
4019
|
+
examples:
|
|
4020
|
+
- a1f3c7e90b2d4856ff19c0e7a3b5d28f4c6e0179
|
|
4021
|
+
afterRevisionHash:
|
|
4022
|
+
type: string
|
|
4023
|
+
description: |-
|
|
4024
|
+
Content hash of the integration state after the revision was applied. Present on `pull` and
|
|
4025
|
+
`revert` revisions.
|
|
4026
|
+
examples:
|
|
4027
|
+
- 7d9e2b4a1c3f5068ab82d4e0fc16937255ab8c40
|
|
4028
|
+
_revertToRevisionId:
|
|
4029
|
+
type: string
|
|
4030
|
+
format: objectId
|
|
4031
|
+
description: For `revert` revisions, the id of the target revision being reverted to.
|
|
4032
|
+
examples:
|
|
4033
|
+
- 6a28d2af6d42eb08f8e863e7
|
|
4034
|
+
revertToRevisionHash:
|
|
4035
|
+
type: string
|
|
4036
|
+
description: |-
|
|
4037
|
+
Content hash of the revision being reverted to — echoes `beforeRevisionHash` of the
|
|
4038
|
+
`_revertToRevisionId` revision.
|
|
4039
|
+
examples:
|
|
4040
|
+
- 34b7ae8d56563e242bc0bd42fd28874442657e58
|
|
4041
|
+
_createdByUserId:
|
|
4042
|
+
type: string
|
|
4043
|
+
format: objectId
|
|
4044
|
+
x-celigo-refModel: users
|
|
4045
|
+
examples:
|
|
4046
|
+
- 624774a6a7574d3ed9f9a5cc
|
|
4047
|
+
description: User id of the creator.
|
|
4048
|
+
installSteps:
|
|
4049
|
+
type: array
|
|
4050
|
+
description: |-
|
|
4051
|
+
Install steps associated with the revision (empty for normal snapshots; populated when the
|
|
4052
|
+
revision is part of a pull/revert that requires user-facing install actions).
|
|
4053
|
+
items:
|
|
4054
|
+
type: object
|
|
4055
|
+
additionalProperties: true
|
|
4056
|
+
createdAt:
|
|
4057
|
+
type: string
|
|
4058
|
+
format: date-time
|
|
4059
|
+
description: When the revision was created.
|
|
4060
|
+
examples:
|
|
4061
|
+
- '2026-06-10T02:57:51.483Z'
|
|
4062
|
+
lastModified:
|
|
4063
|
+
type: string
|
|
4064
|
+
format: date-time
|
|
4065
|
+
description: Last update time of the revision record.
|
|
4066
|
+
examples:
|
|
4067
|
+
- '2026-06-10T02:57:51.483Z'
|
|
4068
|
+
RevisionsResponse:
|
|
4069
|
+
type: array
|
|
4070
|
+
description: |-
|
|
4071
|
+
List of revisions for an integration, newest first. Empty history returns
|
|
4072
|
+
an empty response rather than `[]`.
|
|
4073
|
+
items:
|
|
4074
|
+
$ref: '#/components/schemas/Revision'
|
|
4075
|
+
RevisionCreateRequest:
|
|
4076
|
+
type: object
|
|
4077
|
+
description: |-
|
|
4078
|
+
Request body for `POST /v1/integrations/{_id}/revisions/create`. Creates a `snapshot` revision of
|
|
4079
|
+
the integration's current state.
|
|
4080
|
+
properties:
|
|
4081
|
+
description:
|
|
4082
|
+
type: string
|
|
4083
|
+
minLength: 1
|
|
4084
|
+
examples:
|
|
4085
|
+
- Stable baseline before deploying v2
|
|
4086
|
+
description: |-
|
|
4087
|
+
Human-readable label shown in the Revisions tab. Required — the UI enforces a non-empty value
|
|
4088
|
+
and so does the API.
|
|
4089
|
+
required:
|
|
4090
|
+
- description
|
|
4091
|
+
RevisionDiffResponse:
|
|
4092
|
+
type: object
|
|
4093
|
+
description: |-
|
|
4094
|
+
Structured before/after diff for a revision. Only available while the revision is in a `pending`
|
|
4095
|
+
state (e.g. a queued `pull` or `revert`). Completed snapshot revisions are read-only and return
|
|
4096
|
+
HTTP 400 `invalid_revision_state` — the diff is computed during the apply window, not retained.
|
|
4097
|
+
|
|
4098
|
+
Shape is the platform's internal diff document — a map of resource type → per-resource
|
|
4099
|
+
before/after blocks. Treated as an opaque envelope here; specific field layout is not guaranteed
|
|
4100
|
+
stable across platform versions.
|
|
4101
|
+
additionalProperties: true
|
|
4102
|
+
IntegrationErrorsResponse:
|
|
4103
|
+
type: array
|
|
4104
|
+
description: |-
|
|
4105
|
+
Per-flow open-error summary for an integration. One entry per flow in the integration; flows with
|
|
4106
|
+
zero open errors still appear so callers see the full roster. Empty integrations (no flows) return
|
|
4107
|
+
HTTP 204 with no body.
|
|
4108
|
+
items:
|
|
4109
|
+
type: object
|
|
4110
|
+
properties:
|
|
4111
|
+
_flowId:
|
|
4112
|
+
type: string
|
|
4113
|
+
format: objectId
|
|
4114
|
+
description: Id of the flow these counts apply to.
|
|
4115
|
+
x-celigo-refModel: flows
|
|
4116
|
+
examples:
|
|
4117
|
+
- 69497fc443fc1f9a03d31bd9
|
|
4118
|
+
numError:
|
|
4119
|
+
type: integer
|
|
4120
|
+
minimum: 0
|
|
4121
|
+
description: |-
|
|
4122
|
+
Count of currently open (unresolved) errors on this flow. Only
|
|
4123
|
+
errors within the account's data-retention window are counted —
|
|
4124
|
+
older open errors are excluded.
|
|
4125
|
+
examples:
|
|
4126
|
+
- 2
|
|
4127
|
+
lastErrorAt:
|
|
4128
|
+
type: string
|
|
4129
|
+
format: date-time
|
|
4130
|
+
description: |-
|
|
4131
|
+
Timestamp of the most recent open error on this flow, scoped to
|
|
4132
|
+
the account's data-retention window. Omitted when `numError` is 0.
|
|
4133
|
+
examples:
|
|
4134
|
+
- '2026-04-12T21:51:39.257Z'
|
|
4135
|
+
IntegrationErrorsAssignRequest:
|
|
4136
|
+
type: object
|
|
4137
|
+
description: |-
|
|
4138
|
+
Request body for `PUT /v1/integrations/{_id}/errors/assign`. Assigns a batch of open errors —
|
|
4139
|
+
across any flow in the integration — to a user by email. Errors remain open; only the assignee
|
|
4140
|
+
tag changes.
|
|
4141
|
+
properties:
|
|
4142
|
+
errorIds:
|
|
4143
|
+
type: array
|
|
4144
|
+
description: |-
|
|
4145
|
+
Ids of open errors to assign. Obtain from the per-step endpoint
|
|
4146
|
+
`GET /v1/flows/{_flowId}/{_stepId}/errors` → each entry's `errorId`. The integration-level
|
|
4147
|
+
`GET /v1/integrations/{_id}/errors` only returns per-flow *aggregates* (no individual error
|
|
4148
|
+
ids), so the error ids must come from the per-step endpoint. Platform caps batch size around
|
|
4149
|
+
~1000; chunk larger sets client-side.
|
|
4150
|
+
minItems: 1
|
|
4151
|
+
items:
|
|
4152
|
+
type: string
|
|
4153
|
+
examples:
|
|
4154
|
+
- '6044134138'
|
|
4155
|
+
email:
|
|
4156
|
+
type: string
|
|
4157
|
+
format: email
|
|
4158
|
+
examples:
|
|
4159
|
+
- user@example.com
|
|
4160
|
+
description: |-
|
|
4161
|
+
Email of the account user to assign the errors to. Must match an existing user with access to
|
|
4162
|
+
the account; the API does not create users implicitly and rejects unknown emails.
|
|
4163
|
+
required:
|
|
4164
|
+
- errorIds
|
|
4165
|
+
- email
|
|
4166
|
+
IntegrationErrorsAssignResponse:
|
|
4167
|
+
type: object
|
|
4168
|
+
description: |-
|
|
4169
|
+
Echo of the mutation — ids of errors that were reassigned. Mirrors the shape of the per-step
|
|
4170
|
+
`PUT /v1/flows/{_id}/{_stepId}/errors/assign` response.
|
|
4171
|
+
properties:
|
|
4172
|
+
errorsToReturn:
|
|
4173
|
+
type: array
|
|
4174
|
+
description: Error ids that were affected by the mutation.
|
|
4175
|
+
items:
|
|
4176
|
+
type: string
|
|
4177
|
+
examples:
|
|
4178
|
+
- '6044134138'
|
|
4179
|
+
CloneFamilyResponse:
|
|
4180
|
+
type: array
|
|
4181
|
+
description: |-
|
|
4182
|
+
Members of an integration's clone family — the original integration plus every clone (including
|
|
4183
|
+
clones of clones, across environments). Used by ILM to decide which integrations can pull from or
|
|
4184
|
+
push to the current one.
|
|
4185
|
+
items:
|
|
4186
|
+
type: object
|
|
4187
|
+
description: One integration in the clone family.
|
|
4188
|
+
properties:
|
|
4189
|
+
_id:
|
|
4190
|
+
type: string
|
|
4191
|
+
format: objectId
|
|
4192
|
+
description: Integration id.
|
|
4193
|
+
x-celigo-refModel: integrations
|
|
4194
|
+
examples:
|
|
4195
|
+
- 6842261335b64c0bcb308e4f
|
|
4196
|
+
name:
|
|
4197
|
+
type: string
|
|
4198
|
+
description: Display name of the integration.
|
|
4199
|
+
examples:
|
|
4200
|
+
- Shopify → NetSuite Orders
|
|
4201
|
+
_envId:
|
|
4202
|
+
type: string
|
|
4203
|
+
format: objectId
|
|
4204
|
+
x-celigo-refModel: environments
|
|
4205
|
+
examples:
|
|
4206
|
+
- 67b123456789abcdef012345
|
|
4207
|
+
description: Environment id the integration belongs to.
|
|
4208
|
+
additionalProperties: true
|
|
4209
|
+
ILMIgnoreResponse:
|
|
4210
|
+
type: object
|
|
4211
|
+
description: |-
|
|
4212
|
+
Catalog of resource-type → field-path lists that are *available* to be ignored during ILM pulls
|
|
4213
|
+
and reverts. This is the full menu of what can be configured — to see the current ignore
|
|
4214
|
+
configuration, read the `iLMIgnore` field on the integration itself via
|
|
4215
|
+
`GET /v1/integrations/{_id}`.
|
|
4216
|
+
|
|
4217
|
+
Keys are lowercase resource type names (e.g. `integration`, `flow`, `export`, `import`,
|
|
4218
|
+
`connection`, `script`). Each value is an array of dot-path strings naming fields that can be
|
|
4219
|
+
excluded. Only resource types that have configurable ignores appear as keys.
|
|
4220
|
+
additionalProperties:
|
|
4221
|
+
type: array
|
|
4222
|
+
description: Field paths (dotted) that can be ignored for this resource type.
|
|
4223
|
+
items:
|
|
4224
|
+
type: string
|
|
4225
|
+
example:
|
|
4226
|
+
integration:
|
|
4227
|
+
- settings.general.description
|
|
4228
|
+
- settings.general.name
|
|
4229
|
+
flow:
|
|
4230
|
+
- scheduling.startTime
|
|
4231
|
+
- disabled
|
|
4232
|
+
export:
|
|
4233
|
+
- http.relativeURI
|
|
4234
|
+
- delta.dateField
|
|
4235
|
+
import:
|
|
4236
|
+
- http.relativeURI
|
|
4237
|
+
- mapping
|
|
4238
|
+
connection:
|
|
4239
|
+
- http.baseURI
|
|
4240
|
+
- http.auth.token.token
|
|
4241
|
+
DependencyEntry:
|
|
4242
|
+
type: object
|
|
4243
|
+
description: A single resource that depends on the queried resource.
|
|
4244
|
+
properties:
|
|
4245
|
+
id:
|
|
4246
|
+
type: string
|
|
4247
|
+
description: Unique identifier of the dependent resource.
|
|
4248
|
+
examples:
|
|
4249
|
+
- 61f92026dd053843b5d72350
|
|
4250
|
+
name:
|
|
4251
|
+
type: string
|
|
4252
|
+
description: Display name of the dependent resource.
|
|
4253
|
+
examples:
|
|
4254
|
+
- Import Orders to NetSuite
|
|
4255
|
+
paths:
|
|
4256
|
+
type: array
|
|
4257
|
+
description: |-
|
|
4258
|
+
Dot-notation paths within the dependent resource that reference
|
|
4259
|
+
the target resource. `[*]` denotes array elements.
|
|
4260
|
+
items:
|
|
4261
|
+
type: string
|
|
4262
|
+
examples:
|
|
4263
|
+
- - hooks.preSavePage._scriptId
|
|
4264
|
+
accessLevel:
|
|
4265
|
+
type: string
|
|
4266
|
+
description: The caller's access level on the dependent resource.
|
|
4267
|
+
examples:
|
|
4268
|
+
- manage
|
|
4269
|
+
dependencyIds:
|
|
4270
|
+
type: object
|
|
4271
|
+
description: |-
|
|
4272
|
+
Map of resource types to arrays of IDs that this dependent
|
|
4273
|
+
resource references on the target. Keys are singular or plural
|
|
4274
|
+
resource type strings; values are arrays of ID strings.
|
|
4275
|
+
additionalProperties:
|
|
4276
|
+
type: array
|
|
4277
|
+
items:
|
|
4278
|
+
type: string
|
|
4279
|
+
example:
|
|
4280
|
+
script:
|
|
4281
|
+
- 64ff4b21612a134bd2f45531
|
|
4282
|
+
required:
|
|
4283
|
+
- id
|
|
4284
|
+
- name
|
|
4285
|
+
- paths
|
|
4286
|
+
- accessLevel
|
|
4287
|
+
- dependencyIds
|
|
4288
|
+
DependencyResponse:
|
|
4289
|
+
type: object
|
|
4290
|
+
description: |
|
|
4291
|
+
Map of dependent-resource types to arrays of dependency entries.
|
|
4292
|
+
Keys are plural resource type strings (e.g. `flows`, `imports`,
|
|
4293
|
+
`connections`). An empty object `{}` means no dependents.
|
|
4294
|
+
additionalProperties:
|
|
4295
|
+
type: array
|
|
4296
|
+
items:
|
|
4297
|
+
$ref: '#/components/schemas/DependencyEntry'
|
|
4298
|
+
example:
|
|
4299
|
+
exports:
|
|
4300
|
+
- id: 64ff4b21612a134bd2f45534
|
|
4301
|
+
name: Bank FTP Export
|
|
4302
|
+
paths:
|
|
4303
|
+
- hooks.preSavePage._scriptId
|
|
4304
|
+
accessLevel: manage
|
|
4305
|
+
dependencyIds:
|
|
4306
|
+
script:
|
|
4307
|
+
- 64ff4b21612a134bd2f45531
|
|
4308
|
+
flows:
|
|
4309
|
+
- id: 64ff4b22612a134bd2f45538
|
|
4310
|
+
name: CAMT-053 to Celigo CAM Format
|
|
4311
|
+
paths:
|
|
4312
|
+
- pageGenerators[*]._exportId
|
|
4313
|
+
accessLevel: manage
|
|
4314
|
+
dependencyIds:
|
|
4315
|
+
export:
|
|
4316
|
+
- 64ff4b21612a134bd2f45534
|
|
4317
|
+
responses:
|
|
4318
|
+
401-unauthorized:
|
|
4319
|
+
description: |-
|
|
4320
|
+
Unauthorized. The request lacks a valid bearer token, or the provided token
|
|
4321
|
+
failed to authenticate.
|
|
4322
|
+
|
|
4323
|
+
Note: the 401 response is produced by the auth middleware **before** the
|
|
4324
|
+
request reaches the endpoint handler, so it does **not** follow the
|
|
4325
|
+
standard `{errors: [...]}` envelope. Instead the body is a bare
|
|
4326
|
+
`{message: string}` object with no `code`, no `errors` array. Callers
|
|
4327
|
+
handling 401s should key off the HTTP status and the `message` string,
|
|
4328
|
+
not try to destructure an `errors[]`.
|
|
4329
|
+
content:
|
|
4330
|
+
application/json:
|
|
4331
|
+
schema:
|
|
4332
|
+
type: object
|
|
4333
|
+
properties:
|
|
4334
|
+
message:
|
|
4335
|
+
type: string
|
|
4336
|
+
description: |-
|
|
4337
|
+
Human-readable description of the auth failure. Known values:
|
|
4338
|
+
- `"Unauthorized"` — no `Authorization` header on the request.
|
|
4339
|
+
- `"Bearer Authentication Failed"` — header present but token
|
|
4340
|
+
is invalid, revoked, or expired.
|
|
4341
|
+
required:
|
|
4342
|
+
- message
|
|
4343
|
+
examples:
|
|
4344
|
+
missing_token:
|
|
4345
|
+
summary: No Authorization header sent
|
|
4346
|
+
value:
|
|
4347
|
+
message: Unauthorized
|
|
4348
|
+
invalid_token:
|
|
4349
|
+
summary: Bearer token invalid or revoked
|
|
4350
|
+
value:
|
|
4351
|
+
message: Bearer Authentication Failed
|
|
4352
|
+
400-bad-request:
|
|
4353
|
+
description: |
|
|
4354
|
+
Bad request. The server could not understand the request because of malformed syntax or invalid parameters.
|
|
4355
|
+
content:
|
|
4356
|
+
application/json:
|
|
4357
|
+
schema:
|
|
4358
|
+
$ref: '#/components/schemas/Error'
|
|
4359
|
+
examples:
|
|
4360
|
+
default:
|
|
4361
|
+
value:
|
|
4362
|
+
errors:
|
|
4363
|
+
- code: invalid_request
|
|
4364
|
+
message: The request body failed validation.
|
|
4365
|
+
422-unprocessable-entity:
|
|
4366
|
+
description: |
|
|
4367
|
+
Unprocessable entity. The request was well-formed but was unable to be followed due to semantic errors.
|
|
4368
|
+
content:
|
|
4369
|
+
application/json:
|
|
4370
|
+
schema:
|
|
4371
|
+
$ref: '#/components/schemas/Error'
|
|
4372
|
+
examples:
|
|
4373
|
+
default:
|
|
4374
|
+
value:
|
|
4375
|
+
errors:
|
|
4376
|
+
- code: unprocessable_entity
|
|
4377
|
+
message: The request could not be processed due to a semantic error.
|
|
4378
|
+
404-not-found:
|
|
4379
|
+
description: |
|
|
4380
|
+
Not found. The requested resource does not exist or is not visible to the caller.
|
|
4381
|
+
content:
|
|
4382
|
+
application/json:
|
|
4383
|
+
schema:
|
|
4384
|
+
$ref: '#/components/schemas/Error'
|
|
4385
|
+
examples:
|
|
4386
|
+
default:
|
|
4387
|
+
value:
|
|
4388
|
+
errors:
|
|
4389
|
+
- code: not_found
|
|
4390
|
+
message: The requested resource was not found.
|
|
4391
|
+
422-dependency-conflict:
|
|
4392
|
+
description: |-
|
|
4393
|
+
The resource has dependents that must be deleted first. Each entry
|
|
4394
|
+
in the `errors` array names one blocking resource.
|
|
4395
|
+
content:
|
|
4396
|
+
application/json:
|
|
4397
|
+
schema:
|
|
4398
|
+
$ref: '#/components/schemas/Error'
|
|
4399
|
+
examples:
|
|
4400
|
+
default:
|
|
4401
|
+
value:
|
|
4402
|
+
errors:
|
|
4403
|
+
- code: dependencies_not_deleted
|
|
4404
|
+
message: export 6902d88c10b42b2eaac9b2a1 must be deleted before you can delete connection 6398ddf316be761fb16a6523
|
|
4405
|
+
x-enable-proxy: true
|
|
4406
|
+
x-internal: false
|