@celigo/api-specs 0.2.39 → 0.2.41
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/dist/account.yml +201 -3
- package/dist/agent.yml +7 -0
- package/dist/ai-agent.yml +97 -13
- package/dist/api.yml +5934 -121
- package/dist/asynchelper.yml +7 -0
- package/dist/audit.yml +36 -1
- package/dist/connection.yml +662 -74
- package/dist/ediprofile.yml +7 -0
- package/dist/editransaction.yml +225 -0
- package/dist/enduser.yml +5605 -35
- package/dist/export.yml +276 -41
- package/dist/filedefinition.yml +7 -0
- package/dist/filestorage.yml +712 -330
- package/dist/flow.yml +78 -37
- package/dist/guardrail.yml +81 -533
- package/dist/httpconnectorendpoint.yml +602 -126
- package/dist/httpconnectorresource.yml +1160 -84
- package/dist/iclient.yml +108 -16
- package/dist/import.yml +1357 -176
- package/dist/integration.yml +814 -0
- package/dist/lookupcache.yml +7 -0
- package/dist/marketplace.yml +285 -105
- package/dist/mcp-server.yml +6310 -187
- package/dist/recyclebin.yml +32 -2
- package/dist/script.yml +7 -0
- package/dist/stack.yml +642 -5
- package/dist/subscription.yml +122 -26
- package/dist/template.yml +34 -1
- package/dist/tool.yml +4777 -1652
- package/dist/topic.yml +1783 -0
- package/dist/user.yml +142 -29
- package/package.json +1 -1
- package/schemas.json +978 -768
|
@@ -2,7 +2,7 @@ openapi: 3.2.0
|
|
|
2
2
|
info:
|
|
3
3
|
version: 1.0.0
|
|
4
4
|
title: HTTP Connector Resources
|
|
5
|
-
description: API for
|
|
5
|
+
description: API for managing Celigo HTTP Connector Resources — logical API resource groupings within an HTTP Connector.
|
|
6
6
|
servers:
|
|
7
7
|
- url: https://api.integrator.io
|
|
8
8
|
description: Production (US / default region)
|
|
@@ -17,36 +17,37 @@ security:
|
|
|
17
17
|
tags:
|
|
18
18
|
- name: HTTP Connector Resources
|
|
19
19
|
description: |-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
HTTP Connector Resources are the logical API groupings (for example
|
|
21
|
+
"Account", "Contact", "Order") inside an HTTP Connector. Each resource
|
|
22
|
+
belongs to one connector, is available in one or more of its versions,
|
|
23
|
+
and owns the HTTP Connector Endpoints that define the operations users
|
|
24
|
+
can build exports and imports on.
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
Manage your own resources through `/v1/httpconnectorresources`
|
|
27
|
+
(list, create) and `/v1/httpconnectorresources/{_id}` (get, update,
|
|
28
|
+
delete). The nested `/v1/httpconnectors/{_httpConnectorId}/...` routes
|
|
29
|
+
are read-only views scoped to one connector that also reach resources
|
|
30
|
+
published by other partners; a resource read through either route is
|
|
31
|
+
the same object.
|
|
28
32
|
|
|
29
33
|
## HTTP connector resource schema
|
|
30
34
|
|
|
31
35
|
{% openapi-schemas spec="httpconnectorresource" schemas="HTTPConnectorResource" grouped="true" %}
|
|
32
36
|
paths:
|
|
33
|
-
/v1/
|
|
37
|
+
/v1/httpconnectorresources:
|
|
34
38
|
get:
|
|
35
39
|
x-internal: false
|
|
36
|
-
operationId:
|
|
40
|
+
operationId: listOwnHttpConnectorResources
|
|
37
41
|
tags:
|
|
38
42
|
- HTTP Connector Resources
|
|
39
|
-
summary: List HTTP Connector Resources
|
|
43
|
+
summary: List your HTTP Connector Resources
|
|
40
44
|
description: |-
|
|
41
|
-
Returns
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
`_httpConnectorId
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
Each resource's `_id` doubles as the `_httpConnectorResourceId` path
|
|
49
|
-
parameter used by the HTTP Connector Endpoints API.
|
|
45
|
+
Returns the full HTTP Connector Resources owned by the account, across all
|
|
46
|
+
of its connectors, sorted by name. This is the canonical CRUD listing; to
|
|
47
|
+
browse the resources of one connector — including resources published by
|
|
48
|
+
other partners — use the scoped
|
|
49
|
+
`GET /v1/httpconnectors/{_httpConnectorId}/httpconnectorresources`, which
|
|
50
|
+
returns an abridged shape.
|
|
50
51
|
parameters:
|
|
51
52
|
- name: limit
|
|
52
53
|
in: query
|
|
@@ -57,6 +58,347 @@ paths:
|
|
|
57
58
|
examples:
|
|
58
59
|
- 100
|
|
59
60
|
- $ref: '#/components/parameters/After'
|
|
61
|
+
responses:
|
|
62
|
+
'200':
|
|
63
|
+
description: Array of the account's HTTP Connector Resources.
|
|
64
|
+
headers:
|
|
65
|
+
Link:
|
|
66
|
+
description: |-
|
|
67
|
+
RFC-5988 pagination links. When more pages remain, includes a
|
|
68
|
+
`<...>; rel="next"` entry; absent on the final page.
|
|
69
|
+
schema:
|
|
70
|
+
type: string
|
|
71
|
+
content:
|
|
72
|
+
application/json:
|
|
73
|
+
schema:
|
|
74
|
+
type: array
|
|
75
|
+
items:
|
|
76
|
+
$ref: '#/components/schemas/HTTPConnectorResource'
|
|
77
|
+
examples:
|
|
78
|
+
two_resources:
|
|
79
|
+
value:
|
|
80
|
+
- _id: 6ab1f8b66c46f82ea7b1f20e
|
|
81
|
+
name: Account
|
|
82
|
+
createdAt: '2026-09-22T03:40:38.704Z'
|
|
83
|
+
lastModified: '2026-09-22T03:41:34.542Z'
|
|
84
|
+
published: true
|
|
85
|
+
_httpConnectorId: 6ab1f8b6d38090b49147cec4
|
|
86
|
+
_versionIds:
|
|
87
|
+
- 6ab1f8b6d38090b49147cec5
|
|
88
|
+
- _id: 6ab1f8c4c2e18361293b46b7
|
|
89
|
+
name: Contact
|
|
90
|
+
createdAt: '2026-09-22T03:40:52.719Z'
|
|
91
|
+
lastModified: '2026-09-22T03:40:52.740Z'
|
|
92
|
+
published: false
|
|
93
|
+
_httpConnectorId: 6ab1f8b6d38090b49147cec4
|
|
94
|
+
'204':
|
|
95
|
+
description: The account owns no HTTP Connector Resources.
|
|
96
|
+
'401':
|
|
97
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
98
|
+
'403':
|
|
99
|
+
$ref: '#/components/responses/403-forbidden'
|
|
100
|
+
post:
|
|
101
|
+
x-internal: false
|
|
102
|
+
operationId: createHttpConnectorResource
|
|
103
|
+
tags:
|
|
104
|
+
- HTTP Connector Resources
|
|
105
|
+
summary: Create an HTTP Connector Resource
|
|
106
|
+
description: |-
|
|
107
|
+
Creates a resource grouping under one of your HTTP Connectors. Create the
|
|
108
|
+
connector first (`POST /v1/httpconnectors`) and pass its id as
|
|
109
|
+
`_httpConnectorId`; list the connector's `versions[]._id` values in
|
|
110
|
+
`_versionIds` to make the resource available in those versions. Endpoints
|
|
111
|
+
are then attached to the resource through
|
|
112
|
+
`POST /v1/httpconnectorendpoints`.
|
|
113
|
+
requestBody:
|
|
114
|
+
required: true
|
|
115
|
+
content:
|
|
116
|
+
application/json:
|
|
117
|
+
schema:
|
|
118
|
+
$ref: '#/components/schemas/Request'
|
|
119
|
+
examples:
|
|
120
|
+
minimal:
|
|
121
|
+
summary: Resource scoped to one connector version
|
|
122
|
+
value:
|
|
123
|
+
name: Account
|
|
124
|
+
_httpConnectorId: 6ab1f8b6d38090b49147cec4
|
|
125
|
+
_versionIds:
|
|
126
|
+
- 6ab1f8b6d38090b49147cec5
|
|
127
|
+
configured:
|
|
128
|
+
summary: Root resource with field catalog and export defaults
|
|
129
|
+
value:
|
|
130
|
+
name: Order
|
|
131
|
+
_httpConnectorId: 6ab1f8b6d38090b49147cec4
|
|
132
|
+
_versionIds:
|
|
133
|
+
- 6ab1f8b6d38090b49147cec5
|
|
134
|
+
isRoot: true
|
|
135
|
+
resourceFields:
|
|
136
|
+
- id: id
|
|
137
|
+
label: ID
|
|
138
|
+
dataType: string
|
|
139
|
+
- id: lines
|
|
140
|
+
label: Lines
|
|
141
|
+
dataType: objectarray
|
|
142
|
+
resourceFields:
|
|
143
|
+
- id: sku
|
|
144
|
+
dataType: string
|
|
145
|
+
supportedBy:
|
|
146
|
+
export:
|
|
147
|
+
preConfiguredFields:
|
|
148
|
+
- path: http.successMediaType
|
|
149
|
+
values:
|
|
150
|
+
- json
|
|
151
|
+
fieldsUserMustSet:
|
|
152
|
+
- path: name
|
|
153
|
+
fieldsToUnset:
|
|
154
|
+
- http.paging
|
|
155
|
+
import:
|
|
156
|
+
pathParameterToIdentifyExisting: id
|
|
157
|
+
responses:
|
|
158
|
+
'201':
|
|
159
|
+
description: Created resource.
|
|
160
|
+
content:
|
|
161
|
+
application/json:
|
|
162
|
+
schema:
|
|
163
|
+
$ref: '#/components/schemas/HTTPConnectorResource'
|
|
164
|
+
examples:
|
|
165
|
+
created:
|
|
166
|
+
value:
|
|
167
|
+
_id: 6ab1f8b66c46f82ea7b1f20e
|
|
168
|
+
name: Account
|
|
169
|
+
createdAt: '2026-09-22T03:40:38.704Z'
|
|
170
|
+
lastModified: '2026-09-22T03:40:38.736Z'
|
|
171
|
+
published: false
|
|
172
|
+
_httpConnectorId: 6ab1f8b6d38090b49147cec4
|
|
173
|
+
_versionIds:
|
|
174
|
+
- 6ab1f8b6d38090b49147cec5
|
|
175
|
+
'400':
|
|
176
|
+
$ref: '#/components/responses/400-bad-request'
|
|
177
|
+
'401':
|
|
178
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
179
|
+
'403':
|
|
180
|
+
$ref: '#/components/responses/403-forbidden'
|
|
181
|
+
'422':
|
|
182
|
+
description: |-
|
|
183
|
+
A required field is missing, a referenced connector or version is not
|
|
184
|
+
yours or does not exist, or `isRoot` and `_parentResourceId` were sent
|
|
185
|
+
together.
|
|
186
|
+
content:
|
|
187
|
+
application/json:
|
|
188
|
+
schema:
|
|
189
|
+
$ref: '#/components/schemas/Error'
|
|
190
|
+
examples:
|
|
191
|
+
missing_name:
|
|
192
|
+
value:
|
|
193
|
+
errors:
|
|
194
|
+
- field: name
|
|
195
|
+
code: missing_required_field
|
|
196
|
+
message: Path `name` is required.
|
|
197
|
+
invalid_connector:
|
|
198
|
+
summary: _httpConnectorId missing or not owned by the account
|
|
199
|
+
value:
|
|
200
|
+
errors:
|
|
201
|
+
- field: _httpConnectorId
|
|
202
|
+
code: invalid_ref
|
|
203
|
+
message: 63987132784a39b73aae63cd is not a valid _httpConnectorId
|
|
204
|
+
invalid_version:
|
|
205
|
+
value:
|
|
206
|
+
errors:
|
|
207
|
+
- field: _versionId
|
|
208
|
+
code: invalid_ref
|
|
209
|
+
message: 6ab1f8b6d38090b491470000 is not a valid _versionId
|
|
210
|
+
root_with_parent:
|
|
211
|
+
value:
|
|
212
|
+
errors:
|
|
213
|
+
- field: _parentResourceId
|
|
214
|
+
code: invalid_field_value
|
|
215
|
+
message: 'Invalid value for field "_parentResourceId": isRoot cannot be true when _parentResourceId is set'
|
|
216
|
+
/v1/httpconnectorresources/{_id}:
|
|
217
|
+
get:
|
|
218
|
+
x-internal: false
|
|
219
|
+
operationId: getOwnHttpConnectorResourceById
|
|
220
|
+
tags:
|
|
221
|
+
- HTTP Connector Resources
|
|
222
|
+
summary: Get one of your HTTP Connector Resources
|
|
223
|
+
description: |-
|
|
224
|
+
Returns the full resource. The nested
|
|
225
|
+
`GET /v1/httpconnectors/{_httpConnectorId}/{_id}` returns the identical
|
|
226
|
+
object and additionally reaches resources published by other partners;
|
|
227
|
+
this route is limited to resources the account owns.
|
|
228
|
+
parameters:
|
|
229
|
+
- in: path
|
|
230
|
+
name: _id
|
|
231
|
+
required: true
|
|
232
|
+
schema:
|
|
233
|
+
type: string
|
|
234
|
+
format: objectId
|
|
235
|
+
x-celigo-refModel: httpconnectorresources
|
|
236
|
+
examples:
|
|
237
|
+
- 6ab1f8b66c46f82ea7b1f20e
|
|
238
|
+
description: HTTP Connector Resource ID.
|
|
239
|
+
responses:
|
|
240
|
+
'200':
|
|
241
|
+
description: The resource.
|
|
242
|
+
content:
|
|
243
|
+
application/json:
|
|
244
|
+
schema:
|
|
245
|
+
$ref: '#/components/schemas/HTTPConnectorResource'
|
|
246
|
+
examples:
|
|
247
|
+
detail:
|
|
248
|
+
value:
|
|
249
|
+
_id: 6ab1f8b66c46f82ea7b1f20e
|
|
250
|
+
name: Account
|
|
251
|
+
createdAt: '2026-09-22T03:40:38.704Z'
|
|
252
|
+
lastModified: '2026-09-22T03:41:34.542Z'
|
|
253
|
+
published: true
|
|
254
|
+
_httpConnectorId: 6ab1f8b6d38090b49147cec4
|
|
255
|
+
_versionIds:
|
|
256
|
+
- 6ab1f8b6d38090b49147cec5
|
|
257
|
+
'401':
|
|
258
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
259
|
+
'403':
|
|
260
|
+
$ref: '#/components/responses/403-forbidden'
|
|
261
|
+
'404':
|
|
262
|
+
description: No resource with this id is owned by the account.
|
|
263
|
+
content:
|
|
264
|
+
application/json:
|
|
265
|
+
schema:
|
|
266
|
+
$ref: '#/components/schemas/Error'
|
|
267
|
+
examples:
|
|
268
|
+
not_found:
|
|
269
|
+
value:
|
|
270
|
+
errors:
|
|
271
|
+
- code: invalid_ref
|
|
272
|
+
message: HttpConnectorResource not found.
|
|
273
|
+
put:
|
|
274
|
+
x-internal: false
|
|
275
|
+
operationId: updateHttpConnectorResource
|
|
276
|
+
tags:
|
|
277
|
+
- HTTP Connector Resources
|
|
278
|
+
summary: Update an HTTP Connector Resource
|
|
279
|
+
description: |-
|
|
280
|
+
Replaces the resource with the request body. Send the complete document —
|
|
281
|
+
`_versionIds`, `metadata`, `resourceFields`, `supportedBy`, and the other
|
|
282
|
+
optional fields are cleared when left out, while `published` and `isRoot`
|
|
283
|
+
keep their stored values when omitted. `name` and `_httpConnectorId` are
|
|
284
|
+
required on every PUT. Publish a resource by sending `published: true`.
|
|
285
|
+
parameters:
|
|
286
|
+
- in: path
|
|
287
|
+
name: _id
|
|
288
|
+
required: true
|
|
289
|
+
schema:
|
|
290
|
+
type: string
|
|
291
|
+
format: objectId
|
|
292
|
+
x-celigo-refModel: httpconnectorresources
|
|
293
|
+
examples:
|
|
294
|
+
- 6ab1f8b66c46f82ea7b1f20e
|
|
295
|
+
description: HTTP Connector Resource ID.
|
|
296
|
+
requestBody:
|
|
297
|
+
required: true
|
|
298
|
+
content:
|
|
299
|
+
application/json:
|
|
300
|
+
schema:
|
|
301
|
+
$ref: '#/components/schemas/Request'
|
|
302
|
+
examples:
|
|
303
|
+
publish:
|
|
304
|
+
summary: Publish the resource
|
|
305
|
+
value:
|
|
306
|
+
name: Account
|
|
307
|
+
_httpConnectorId: 6ab1f8b6d38090b49147cec4
|
|
308
|
+
_versionIds:
|
|
309
|
+
- 6ab1f8b6d38090b49147cec5
|
|
310
|
+
published: true
|
|
311
|
+
responses:
|
|
312
|
+
'200':
|
|
313
|
+
description: Updated resource.
|
|
314
|
+
content:
|
|
315
|
+
application/json:
|
|
316
|
+
schema:
|
|
317
|
+
$ref: '#/components/schemas/HTTPConnectorResource'
|
|
318
|
+
examples:
|
|
319
|
+
published:
|
|
320
|
+
value:
|
|
321
|
+
_id: 6ab1f8b66c46f82ea7b1f20e
|
|
322
|
+
name: Account
|
|
323
|
+
createdAt: '2026-09-22T03:40:38.704Z'
|
|
324
|
+
lastModified: '2026-09-22T03:41:34.542Z'
|
|
325
|
+
published: true
|
|
326
|
+
_httpConnectorId: 6ab1f8b6d38090b49147cec4
|
|
327
|
+
_versionIds:
|
|
328
|
+
- 6ab1f8b6d38090b49147cec5
|
|
329
|
+
'400':
|
|
330
|
+
$ref: '#/components/responses/400-bad-request'
|
|
331
|
+
'401':
|
|
332
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
333
|
+
'403':
|
|
334
|
+
$ref: '#/components/responses/403-forbidden'
|
|
335
|
+
'404':
|
|
336
|
+
$ref: '#/components/responses/404-not-found'
|
|
337
|
+
'422':
|
|
338
|
+
$ref: '#/components/responses/422-unprocessable-entity'
|
|
339
|
+
delete:
|
|
340
|
+
x-internal: false
|
|
341
|
+
operationId: deleteHttpConnectorResource
|
|
342
|
+
tags:
|
|
343
|
+
- HTTP Connector Resources
|
|
344
|
+
summary: Delete an HTTP Connector Resource
|
|
345
|
+
description: |-
|
|
346
|
+
Deletes the resource. Refused while any HTTP Connector Endpoint still
|
|
347
|
+
lists it in `_httpConnectorResourceIds` — delete or re-point those
|
|
348
|
+
endpoints first. A connector likewise cannot be deleted while it still has
|
|
349
|
+
resources. Not recoverable through the recycle bin.
|
|
350
|
+
parameters:
|
|
351
|
+
- in: path
|
|
352
|
+
name: _id
|
|
353
|
+
required: true
|
|
354
|
+
schema:
|
|
355
|
+
type: string
|
|
356
|
+
format: objectId
|
|
357
|
+
x-celigo-refModel: httpconnectorresources
|
|
358
|
+
examples:
|
|
359
|
+
- 6ab1f8b66c46f82ea7b1f20e
|
|
360
|
+
description: HTTP Connector Resource ID.
|
|
361
|
+
responses:
|
|
362
|
+
'204':
|
|
363
|
+
description: Resource deleted.
|
|
364
|
+
'401':
|
|
365
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
366
|
+
'403':
|
|
367
|
+
$ref: '#/components/responses/403-forbidden'
|
|
368
|
+
'404':
|
|
369
|
+
$ref: '#/components/responses/404-not-found'
|
|
370
|
+
'422':
|
|
371
|
+
description: An endpoint still references the resource.
|
|
372
|
+
content:
|
|
373
|
+
application/json:
|
|
374
|
+
schema:
|
|
375
|
+
$ref: '#/components/schemas/Error'
|
|
376
|
+
examples:
|
|
377
|
+
referenced:
|
|
378
|
+
value:
|
|
379
|
+
errors:
|
|
380
|
+
- code: delete_not_allowed
|
|
381
|
+
message: 'this document is referenced by HttpConnectorEndpoint : 6ab1f999d38090b49147cf00'
|
|
382
|
+
/v1/httpconnectors/{_httpConnectorId}/httpconnectorresources:
|
|
383
|
+
get:
|
|
384
|
+
x-internal: false
|
|
385
|
+
operationId: listHttpConnectorResources
|
|
386
|
+
tags:
|
|
387
|
+
- HTTP Connector Resources
|
|
388
|
+
summary: List a connector's HTTP Connector Resources
|
|
389
|
+
description: |-
|
|
390
|
+
Returns the resources defined under the given HTTP Connector — your own
|
|
391
|
+
and, for connectors published by other partners, their published
|
|
392
|
+
resources — sorted by name. The whole list is returned in one response.
|
|
393
|
+
|
|
394
|
+
The shape is abridged: it omits `published`, `_httpConnectorId`, and the
|
|
395
|
+
configuration fields. Use `GET /v1/httpconnectors/{_httpConnectorId}/{_id}`
|
|
396
|
+
for the full object, or `GET /v1/httpconnectorresources` for the full
|
|
397
|
+
shape of everything your account owns.
|
|
398
|
+
|
|
399
|
+
Each resource's `_id` doubles as the `_httpConnectorResourceId` path
|
|
400
|
+
parameter used by the HTTP Connector Endpoints API.
|
|
401
|
+
parameters:
|
|
60
402
|
- in: path
|
|
61
403
|
name: _httpConnectorId
|
|
62
404
|
required: true
|
|
@@ -66,17 +408,29 @@ paths:
|
|
|
66
408
|
x-celigo-refModel: httpconnectors
|
|
67
409
|
examples:
|
|
68
410
|
- 63987132784a39b73aae63cd
|
|
69
|
-
description: HTTP Connector ID
|
|
411
|
+
description: HTTP Connector ID.
|
|
412
|
+
- in: query
|
|
413
|
+
name: version
|
|
414
|
+
required: false
|
|
415
|
+
schema:
|
|
416
|
+
type: string
|
|
417
|
+
format: objectId
|
|
418
|
+
examples:
|
|
419
|
+
- 63987132784a39b73aae63ce
|
|
420
|
+
description: Return only resources available in this connector version (`versions[]._id`).
|
|
421
|
+
- in: query
|
|
422
|
+
name: publishedOnly
|
|
423
|
+
required: false
|
|
424
|
+
schema:
|
|
425
|
+
type: boolean
|
|
426
|
+
default: false
|
|
427
|
+
description: |-
|
|
428
|
+
When true, returns only published resources that belong to a published
|
|
429
|
+
version of the connector. The connector itself must be published,
|
|
430
|
+
otherwise the request fails with 404.
|
|
70
431
|
responses:
|
|
71
432
|
'200':
|
|
72
|
-
description:
|
|
73
|
-
headers:
|
|
74
|
-
Link:
|
|
75
|
-
description: |-
|
|
76
|
-
RFC-5988 pagination links. When more pages remain, includes a `<...>; rel="next"` entry;
|
|
77
|
-
absent on the final page.
|
|
78
|
-
schema:
|
|
79
|
-
type: string
|
|
433
|
+
description: Abridged resources of the connector.
|
|
80
434
|
content:
|
|
81
435
|
application/json:
|
|
82
436
|
schema:
|
|
@@ -99,11 +453,21 @@ paths:
|
|
|
99
453
|
_versionIds:
|
|
100
454
|
- 63987132784a39b73aae63ce
|
|
101
455
|
'204':
|
|
102
|
-
description:
|
|
456
|
+
description: The connector has no resources visible to the caller.
|
|
103
457
|
'401':
|
|
104
458
|
$ref: '#/components/responses/401-unauthorized'
|
|
105
459
|
'404':
|
|
106
|
-
|
|
460
|
+
description: The connector does not exist, is not yours, and is not published.
|
|
461
|
+
content:
|
|
462
|
+
application/json:
|
|
463
|
+
schema:
|
|
464
|
+
$ref: '#/components/schemas/Error'
|
|
465
|
+
examples:
|
|
466
|
+
not_found:
|
|
467
|
+
value:
|
|
468
|
+
errors:
|
|
469
|
+
- code: invalid_ref
|
|
470
|
+
message: httpConnector not found or not published.
|
|
107
471
|
/v1/httpconnectors/{_httpConnectorId}/{_id}:
|
|
108
472
|
get:
|
|
109
473
|
x-internal: false
|
|
@@ -112,15 +476,17 @@ paths:
|
|
|
112
476
|
- HTTP Connector Resources
|
|
113
477
|
summary: Get an HTTP connector resource
|
|
114
478
|
description: |-
|
|
115
|
-
Retrieves a specific HTTP Connector Resource by its unique identifier
|
|
479
|
+
Retrieves a specific HTTP Connector Resource by its unique identifier —
|
|
480
|
+
the same object `GET /v1/httpconnectorresources/{_id}` returns, but this
|
|
481
|
+
route also reaches resources published by other partners.
|
|
116
482
|
|
|
117
483
|
The path uses a shortcut form: `/v1/httpconnectors/{_httpConnectorId}/{_id}`
|
|
118
484
|
where `{_id}` is the resource ID directly under the connector. The longer
|
|
119
485
|
form `/v1/httpconnectors/{_httpConnectorId}/httpconnectorresources/{_id}`
|
|
120
486
|
is not supported and fails with an `invalid_ref` error.
|
|
121
487
|
|
|
122
|
-
The detail response includes `published` and
|
|
123
|
-
that are omitted from the list endpoint.
|
|
488
|
+
The detail response includes `published`, `_httpConnectorId`, and the
|
|
489
|
+
configuration fields that are omitted from the list endpoint.
|
|
124
490
|
parameters:
|
|
125
491
|
- in: path
|
|
126
492
|
name: _httpConnectorId
|
|
@@ -204,47 +570,715 @@ components:
|
|
|
204
570
|
schema:
|
|
205
571
|
type: string
|
|
206
572
|
schemas:
|
|
207
|
-
|
|
573
|
+
ResourceField:
|
|
208
574
|
type: object
|
|
209
|
-
description:
|
|
210
|
-
|
|
211
|
-
|
|
575
|
+
description: One field of the resource's records, optionally with nested child fields.
|
|
576
|
+
required:
|
|
577
|
+
- id
|
|
212
578
|
properties:
|
|
213
|
-
|
|
579
|
+
id:
|
|
214
580
|
type: string
|
|
215
|
-
|
|
216
|
-
description: Unique identifier
|
|
217
|
-
readOnly: true
|
|
218
|
-
x-celigo-refModel: httpconnectorresources
|
|
581
|
+
description: Field identifier as it appears in the record.
|
|
219
582
|
examples:
|
|
220
|
-
-
|
|
583
|
+
- id
|
|
584
|
+
label:
|
|
585
|
+
type: string
|
|
586
|
+
description: Display label for the field.
|
|
587
|
+
examples:
|
|
588
|
+
- ID
|
|
589
|
+
description:
|
|
590
|
+
type: string
|
|
591
|
+
description: Help text describing the field.
|
|
592
|
+
examples:
|
|
593
|
+
- Record identifier
|
|
594
|
+
dataType:
|
|
595
|
+
type: string
|
|
596
|
+
description: Data type label for the field, stored as given.
|
|
597
|
+
examples:
|
|
598
|
+
- string
|
|
599
|
+
metadata:
|
|
600
|
+
type: object
|
|
601
|
+
additionalProperties: true
|
|
602
|
+
description: Free-form metadata for the field.
|
|
603
|
+
resourceFields:
|
|
604
|
+
type: array
|
|
605
|
+
description: Child fields of an object or array field. Absent when the field is scalar.
|
|
606
|
+
items:
|
|
607
|
+
type: object
|
|
608
|
+
additionalProperties: true
|
|
609
|
+
description: Nested field with the same shape as its parent.
|
|
610
|
+
Filter:
|
|
611
|
+
type: object
|
|
612
|
+
description: |
|
|
613
|
+
Configuration for selectively processing records based on specified criteria. This object enables
|
|
614
|
+
precise control over which items are included or excluded from processing operations.
|
|
615
|
+
|
|
616
|
+
**Filter behavior**
|
|
617
|
+
|
|
618
|
+
When configured, the filter is applied before processing begins:
|
|
619
|
+
- Items that match the filter criteria are processed
|
|
620
|
+
- Items that don't match are completely skipped
|
|
621
|
+
- No partial processing is performed
|
|
622
|
+
|
|
623
|
+
**Implementation approaches**
|
|
624
|
+
|
|
625
|
+
There are two distinct filtering mechanisms available:
|
|
626
|
+
|
|
627
|
+
**Rule-Based Filtering (`type: "expression"`)**
|
|
628
|
+
- **Best For**: Common filtering patterns based on standard attributes
|
|
629
|
+
- **Capabilities**: Filter by names, values, dates, numerical ranges, text patterns
|
|
630
|
+
- **Advantages**: Declarative, no coding required, consistent performance
|
|
631
|
+
- **Configuration**: Define rules in the `expression` object
|
|
632
|
+
- **Use When**: You have clear, static criteria for selection
|
|
633
|
+
|
|
634
|
+
**Script-Based Filtering (`type: "script"`)**
|
|
635
|
+
- **Best For**: Complex logic, dynamic criteria, or business rules
|
|
636
|
+
- **Capabilities**: Full programmatic control, access to complete metadata
|
|
637
|
+
- **Advantages**: Maximum flexibility, can implement any filtering logic
|
|
638
|
+
- **Configuration**: Reference a script in the `script` object
|
|
639
|
+
- **Use When**: Simple rules aren't sufficient or logic needs to be dynamic
|
|
640
|
+
properties:
|
|
641
|
+
type:
|
|
642
|
+
type: string
|
|
643
|
+
description: |
|
|
644
|
+
Determines which filtering mechanism to use. This choice affects which properties
|
|
645
|
+
must be configured and how filtering logic is implemented.
|
|
646
|
+
|
|
647
|
+
**Available types**
|
|
648
|
+
|
|
649
|
+
**Rule-Based Filtering (`"expression"`)**
|
|
650
|
+
- **Required Config**: The `expression` object with rule definitions
|
|
651
|
+
- **Behavior**: Evaluates declarative rules against item attributes
|
|
652
|
+
- **Best For**: Common patterns like name matching, date ranges, value limits
|
|
653
|
+
- **Advantages**: Simpler to configure, no custom code required
|
|
654
|
+
|
|
655
|
+
**Script-Based Filtering (`"script"`)**
|
|
656
|
+
- **Required Config**: The `script` object with _scriptId and function
|
|
657
|
+
- **Behavior**: Executes custom JavaScript to determine which items to process
|
|
658
|
+
- **Best For**: Complex conditions, business logic, dynamic criteria
|
|
659
|
+
- **Advantages**: Maximum flexibility, can implement any logic
|
|
660
|
+
|
|
661
|
+
**Implementation guidance**
|
|
662
|
+
|
|
663
|
+
1. For standard filtering needs (name, size, date), use `"expression"`
|
|
664
|
+
2. For complex logic or conditions not covered by expressions, use `"script"`
|
|
665
|
+
3. When selecting a type, you must configure the corresponding object:
|
|
666
|
+
- `type: "expression"` requires the `expression` object
|
|
667
|
+
- `type: "script"` requires the `script` object
|
|
668
|
+
enum:
|
|
669
|
+
- expression
|
|
670
|
+
- script
|
|
671
|
+
x-enumDescriptions:
|
|
672
|
+
expression: Rule-based filtering using declarative conditions.
|
|
673
|
+
script: Script-based filtering using custom JavaScript logic.
|
|
674
|
+
examples:
|
|
675
|
+
- expression
|
|
676
|
+
- script
|
|
677
|
+
expression:
|
|
678
|
+
type: object
|
|
679
|
+
description: |
|
|
680
|
+
Configuration for declarative rule-based filtering. This object enables filtering
|
|
681
|
+
items based on common attributes without requiring custom code.
|
|
682
|
+
|
|
683
|
+
**Usage context**
|
|
684
|
+
|
|
685
|
+
This object is REQUIRED when `filter.type` is set to "expression" and should not be
|
|
686
|
+
configured otherwise. It provides a standardized way to define filtering rules that
|
|
687
|
+
can match against item attributes like name, type, value, date, and other properties.
|
|
688
|
+
|
|
689
|
+
**Implementation guidance**
|
|
690
|
+
|
|
691
|
+
The expression system uses a rule-based approach where:
|
|
692
|
+
- Rules can be combined with AND/OR logic
|
|
693
|
+
- Each rule can check a specific attribute
|
|
694
|
+
- Multiple conditions can be applied (ranges, pattern matching, exact matches)
|
|
695
|
+
|
|
696
|
+
**Common filter patterns**
|
|
697
|
+
|
|
698
|
+
1. **Pattern matching**: Using wildcards like `*` and `?`
|
|
699
|
+
2. **Value range filtering**: Numbers between min and max values
|
|
700
|
+
3. **Date range filtering**: Items created/modified within specific time ranges
|
|
701
|
+
4. **Status checking**: Items with specific status values or properties
|
|
702
|
+
|
|
703
|
+
For AI agents: Rule-based filtering should be your first choice when the filtering criteria
|
|
704
|
+
can be expressed in terms of standard attributes. Only use script-based filtering when
|
|
705
|
+
more complex logic is required.
|
|
706
|
+
properties:
|
|
707
|
+
version:
|
|
708
|
+
type: string
|
|
709
|
+
description: |
|
|
710
|
+
Version identifier for the expression format. Currently only version "1" is supported.
|
|
711
|
+
|
|
712
|
+
This field ensures future compatibility if the expression format evolves. Always set to "1"
|
|
713
|
+
for current implementations.
|
|
714
|
+
enum:
|
|
715
|
+
- '1'
|
|
716
|
+
x-enumDescriptions:
|
|
717
|
+
'1': Current and only supported filter expression version.
|
|
718
|
+
examples:
|
|
719
|
+
- '1'
|
|
720
|
+
rules:
|
|
721
|
+
type: array
|
|
722
|
+
description: |
|
|
723
|
+
Expression array defining filter conditions using prefix notation. The first element is the operator,
|
|
724
|
+
followed by its operands which may themselves be nested expression arrays.
|
|
725
|
+
|
|
726
|
+
The rule expression follows this pattern:
|
|
727
|
+
- First element: Operator name (string)
|
|
728
|
+
- Remaining elements: Operands for that operator (values or nested expressions)
|
|
729
|
+
|
|
730
|
+
**Expression structure**
|
|
731
|
+
|
|
732
|
+
Filter expressions use a prefix notation where operators appear before their operands:
|
|
733
|
+
```
|
|
734
|
+
[operator, operand1, operand2, ...]
|
|
735
|
+
```
|
|
736
|
+
|
|
737
|
+
**Comparison Operators**
|
|
738
|
+
- `"equals"`: Exact match (equals)
|
|
739
|
+
- `"notequals"`: Not equal to value (not equals)
|
|
740
|
+
- `"greaterthan"`: Value is greater than specified value (is greater than)
|
|
741
|
+
- `"greaterthanequals"`: Value is greater than or equal to specified value (is greater than or equals)
|
|
742
|
+
- `"lessthan"`: Value is less than specified value (is less than)
|
|
743
|
+
- `"lessthanequals"`: Value is less than or equal to specified value (is less than or equals)
|
|
744
|
+
- `"startswith"`: String starts with specified prefix (starts with)
|
|
745
|
+
- `"endswith"`: String ends with specified suffix (ends with)
|
|
746
|
+
- `"contains"`: String contains specified substring (contains)
|
|
747
|
+
- `"doesnotcontain"`: String does not contain specified substring (does not contain)
|
|
748
|
+
- `"isempty"`: Field is empty or null (is empty)
|
|
749
|
+
- `"isnotempty"`: Field contains a value (is not empty)
|
|
750
|
+
- `"matches"`: Matches specified pattern (matches)
|
|
751
|
+
|
|
752
|
+
**Logical Operators**
|
|
753
|
+
- `"and"`: All conditions must be true
|
|
754
|
+
- `"or"`: At least one condition must be true
|
|
755
|
+
- `"not"`: Negates the condition
|
|
756
|
+
|
|
757
|
+
**Field Access and Type Conversion**
|
|
758
|
+
- `"extract"`: Access a field from the item by name
|
|
759
|
+
- `"settings"`: Access a custom setting from the flow, flow step, or integration configuration
|
|
760
|
+
- `"boolean"`: Convert value to Boolean type
|
|
761
|
+
- `"epochtime"`: Convert value to Epoch Time (Unix timestamp)
|
|
762
|
+
- `"number"`: Convert value to Number type
|
|
763
|
+
- `"string"`: Convert value to String type
|
|
764
|
+
|
|
765
|
+
**Field Access Details**
|
|
766
|
+
|
|
767
|
+
**Using `extract` to access record fields:**
|
|
768
|
+
- Retrieves values from the current record being processed
|
|
769
|
+
- Can access nested properties using dot notation (e.g., `"customer.email"`)
|
|
770
|
+
- Returns the raw field value which may need type conversion
|
|
771
|
+
|
|
772
|
+
**Using `settings` to access configuration values:**
|
|
773
|
+
- Retrieves values from the integration's configuration settings
|
|
774
|
+
- Supports different scopes with prefix notation:
|
|
775
|
+
- `flow.settingName`: Access flow-level settings
|
|
776
|
+
- `export.settingName`: Access export-level settings
|
|
777
|
+
- `import.settingName`: Access import-level settings
|
|
778
|
+
- `integration.settingName`: Access integration-level settings
|
|
779
|
+
- Useful for dynamic filtering based on configuration
|
|
780
|
+
|
|
781
|
+
**Field Transformations**
|
|
782
|
+
- `"lowercase"`: Convert string to lowercase
|
|
783
|
+
- `"uppercase"`: Convert string to uppercase
|
|
784
|
+
- `"ceiling"`: Round number up to the nearest integer
|
|
785
|
+
- `"floor"`: Round number down to the nearest integer
|
|
786
|
+
- `"abs"`: Get absolute value of a number
|
|
787
|
+
|
|
788
|
+
Type conversion operators are often necessary when comparing extracted field values against literals or when the field type doesn't match the comparison operator's expected type. For example:
|
|
789
|
+
|
|
790
|
+
```json
|
|
791
|
+
[
|
|
792
|
+
"equals",
|
|
793
|
+
[
|
|
794
|
+
"number", // Convert to number before comparison
|
|
795
|
+
[
|
|
796
|
+
"extract",
|
|
797
|
+
"quantity"
|
|
798
|
+
]
|
|
799
|
+
],
|
|
800
|
+
100
|
|
801
|
+
]
|
|
802
|
+
```
|
|
803
|
+
|
|
804
|
+
Example with datetime conversion:
|
|
805
|
+
```json
|
|
806
|
+
[
|
|
807
|
+
"greaterthan",
|
|
808
|
+
[
|
|
809
|
+
"epochtime", // Convert to Unix timestamp before comparison
|
|
810
|
+
[
|
|
811
|
+
"extract",
|
|
812
|
+
"createdDate"
|
|
813
|
+
]
|
|
814
|
+
],
|
|
815
|
+
1609459200000 // January 1, 2021 as Unix timestamp in milliseconds
|
|
816
|
+
]
|
|
817
|
+
```
|
|
818
|
+
|
|
819
|
+
Example with transformations:
|
|
820
|
+
```json
|
|
821
|
+
[
|
|
822
|
+
"and",
|
|
823
|
+
[
|
|
824
|
+
"matches",
|
|
825
|
+
[
|
|
826
|
+
"lowercase", // Convert to lowercase before matching
|
|
827
|
+
[
|
|
828
|
+
"string",
|
|
829
|
+
[
|
|
830
|
+
"extract",
|
|
831
|
+
"categories"
|
|
832
|
+
]
|
|
833
|
+
]
|
|
834
|
+
],
|
|
835
|
+
"netsuite"
|
|
836
|
+
],
|
|
837
|
+
[
|
|
838
|
+
"notequals",
|
|
839
|
+
[
|
|
840
|
+
"string",
|
|
841
|
+
[
|
|
842
|
+
"extract",
|
|
843
|
+
"recurrence.pattern.type"
|
|
844
|
+
]
|
|
845
|
+
],
|
|
846
|
+
""
|
|
847
|
+
]
|
|
848
|
+
]
|
|
849
|
+
```
|
|
850
|
+
|
|
851
|
+
Example comparing a record field with a flow setting:
|
|
852
|
+
```json
|
|
853
|
+
[
|
|
854
|
+
"equals",
|
|
855
|
+
[
|
|
856
|
+
"string",
|
|
857
|
+
[
|
|
858
|
+
"extract",
|
|
859
|
+
"trantype"
|
|
860
|
+
]
|
|
861
|
+
],
|
|
862
|
+
[
|
|
863
|
+
"string",
|
|
864
|
+
[
|
|
865
|
+
"settings",
|
|
866
|
+
"flow.trantype"
|
|
867
|
+
]
|
|
868
|
+
]
|
|
869
|
+
]
|
|
870
|
+
```
|
|
871
|
+
|
|
872
|
+
**Examples**
|
|
873
|
+
|
|
874
|
+
Example 1: Status field is not equal to "cancelled"
|
|
875
|
+
```json
|
|
876
|
+
[
|
|
877
|
+
"notequals",
|
|
878
|
+
[
|
|
879
|
+
"extract",
|
|
880
|
+
"status"
|
|
881
|
+
],
|
|
882
|
+
"cancelled"
|
|
883
|
+
]
|
|
884
|
+
```
|
|
885
|
+
|
|
886
|
+
Example 2: Filename starts with "HC"
|
|
887
|
+
```json
|
|
888
|
+
[
|
|
889
|
+
"startswith",
|
|
890
|
+
[
|
|
891
|
+
"extract",
|
|
892
|
+
"filename"
|
|
893
|
+
],
|
|
894
|
+
"HC"
|
|
895
|
+
]
|
|
896
|
+
```
|
|
897
|
+
|
|
898
|
+
Example 3: Amount is greater than 100
|
|
899
|
+
```json
|
|
900
|
+
[
|
|
901
|
+
"greaterthan",
|
|
902
|
+
[
|
|
903
|
+
"number",
|
|
904
|
+
[
|
|
905
|
+
"extract",
|
|
906
|
+
"amount"
|
|
907
|
+
]
|
|
908
|
+
],
|
|
909
|
+
100
|
|
910
|
+
]
|
|
911
|
+
```
|
|
912
|
+
|
|
913
|
+
Example 4: Order date is after January 1, 2023
|
|
914
|
+
```json
|
|
915
|
+
[
|
|
916
|
+
"greaterthan",
|
|
917
|
+
[
|
|
918
|
+
"extract",
|
|
919
|
+
"orderDate"
|
|
920
|
+
],
|
|
921
|
+
"2023-01-01T00:00:00Z"
|
|
922
|
+
]
|
|
923
|
+
```
|
|
924
|
+
|
|
925
|
+
Example 5: Category contains any of ["Urgent", "High Priority"]
|
|
926
|
+
```json
|
|
927
|
+
[
|
|
928
|
+
"anyof",
|
|
929
|
+
[
|
|
930
|
+
"extract",
|
|
931
|
+
"category"
|
|
932
|
+
],
|
|
933
|
+
["Urgent", "High Priority"]
|
|
934
|
+
]
|
|
935
|
+
```
|
|
936
|
+
items:
|
|
937
|
+
oneOf:
|
|
938
|
+
- title: String
|
|
939
|
+
type: string
|
|
940
|
+
- title: Number
|
|
941
|
+
type: number
|
|
942
|
+
- title: Boolean
|
|
943
|
+
type: boolean
|
|
944
|
+
- title: Object
|
|
945
|
+
type: object
|
|
946
|
+
- title: Array
|
|
947
|
+
type: array
|
|
948
|
+
- title: 'Null'
|
|
949
|
+
type: 'null'
|
|
950
|
+
script:
|
|
951
|
+
type: object
|
|
952
|
+
description: |
|
|
953
|
+
Configuration for programmable script-based filtering. This object enables complex, custom
|
|
954
|
+
filtering logic beyond what expression-based filtering can provide.
|
|
955
|
+
|
|
956
|
+
**Usage context**
|
|
957
|
+
|
|
958
|
+
This object is REQUIRED when `filter.type` is set to "script" and should not be configured
|
|
959
|
+
otherwise. It provides a way to execute custom JavaScript code to determine which items
|
|
960
|
+
should be processed.
|
|
961
|
+
|
|
962
|
+
**Implementation approach**
|
|
963
|
+
|
|
964
|
+
Script-based filtering works by:
|
|
965
|
+
1. Executing the specified function from the referenced script
|
|
966
|
+
2. Passing item data to the function
|
|
967
|
+
3. Using the function's return value (true/false) to determine inclusion
|
|
968
|
+
|
|
969
|
+
**Common use cases**
|
|
970
|
+
|
|
971
|
+
Script filtering is ideal for:
|
|
972
|
+
- Complex business logic that can't be expressed as simple rules
|
|
973
|
+
- Dynamic filtering criteria that change based on external factors
|
|
974
|
+
- Content-based filtering that requires deep inspection
|
|
975
|
+
- Advanced pattern matching beyond simple wildcards
|
|
976
|
+
- Multi-stage filtering with intermediate logic
|
|
977
|
+
|
|
978
|
+
For AI agents: Only use script-based filtering when expression-based filtering is insufficient.
|
|
979
|
+
Script filtering requires maintaining custom code, which adds complexity to the integration.
|
|
980
|
+
properties:
|
|
981
|
+
_scriptId:
|
|
982
|
+
type: string
|
|
983
|
+
x-celigo-refModel: scripts
|
|
984
|
+
description: |
|
|
985
|
+
Reference to the Script resource that contains the filtering logic. This must be a valid
|
|
986
|
+
ObjectId of a Script resource that exists in the system.
|
|
987
|
+
|
|
988
|
+
The referenced script must contain the function specified in the `function` field
|
|
989
|
+
and must be written to handle filtering specifically. The script receives
|
|
990
|
+
item data as its input and must return a boolean value indicating whether
|
|
991
|
+
to process the item (true) or skip it (false).
|
|
992
|
+
|
|
993
|
+
Format: 24-character hexadecimal string (MongoDB ObjectId)
|
|
994
|
+
examples:
|
|
995
|
+
- 60a2c4e6f321d800129a1a3c
|
|
996
|
+
- 5f8d43a1b9e5a80011a35f2c
|
|
997
|
+
function:
|
|
998
|
+
type: string
|
|
999
|
+
description: |
|
|
1000
|
+
Name of the function within the script to execute for filtering decisions. This function
|
|
1001
|
+
must exist in the script referenced by _scriptId.
|
|
1002
|
+
|
|
1003
|
+
**Function requirements**
|
|
1004
|
+
|
|
1005
|
+
The specified function must:
|
|
1006
|
+
- Accept item data as its first parameter
|
|
1007
|
+
- Return a boolean value (true to process the item, false to skip it)
|
|
1008
|
+
- Handle errors gracefully
|
|
1009
|
+
- Execute efficiently (as it may run for many items)
|
|
1010
|
+
|
|
1011
|
+
**Function signature**
|
|
1012
|
+
|
|
1013
|
+
```javascript
|
|
1014
|
+
function filterItems(itemData) {
|
|
1015
|
+
// itemData contains properties of the item being evaluated
|
|
1016
|
+
// Custom logic here
|
|
1017
|
+
return true; // or false to skip the item
|
|
1018
|
+
}
|
|
1019
|
+
```
|
|
1020
|
+
|
|
1021
|
+
For AI agents: Ensure the function name exactly matches a function defined in the
|
|
1022
|
+
referenced script, as mismatches will cause the filter to fail.
|
|
1023
|
+
examples:
|
|
1024
|
+
- filterItems
|
|
1025
|
+
- shouldProcess
|
|
1026
|
+
- evaluateMatch
|
|
1027
|
+
ResourceSupportedBySection:
|
|
1028
|
+
type: object
|
|
1029
|
+
description: |-
|
|
1030
|
+
Conditions, pre-configured field values, required user inputs, and
|
|
1031
|
+
fields to clear for one resource type (export or import) created from
|
|
1032
|
+
this resource.
|
|
1033
|
+
properties:
|
|
1034
|
+
conditions:
|
|
1035
|
+
type: array
|
|
1036
|
+
description: |-
|
|
1037
|
+
Expression-based filters referenced by `_conditionIds` in
|
|
1038
|
+
`preConfiguredFields` and `fieldsUserMustSet` to apply those entries
|
|
1039
|
+
conditionally.
|
|
1040
|
+
items:
|
|
1041
|
+
type: object
|
|
1042
|
+
properties:
|
|
1043
|
+
_id:
|
|
1044
|
+
type: string
|
|
1045
|
+
format: objectId
|
|
1046
|
+
readOnly: true
|
|
1047
|
+
description: Identifier of this condition, referenced by `_conditionIds` in field entries.
|
|
1048
|
+
examples:
|
|
1049
|
+
- 5f8d43a1b9e5a80011a35f2c
|
|
1050
|
+
condition:
|
|
1051
|
+
$ref: '#/components/schemas/Filter'
|
|
1052
|
+
preConfiguredFields:
|
|
1053
|
+
type: array
|
|
1054
|
+
description: Fields set automatically on the generated export or import. Not editable by the user.
|
|
1055
|
+
items:
|
|
1056
|
+
type: object
|
|
1057
|
+
properties:
|
|
1058
|
+
path:
|
|
1059
|
+
type: string
|
|
1060
|
+
description: Dot-notation path of the field on the generated export or import.
|
|
1061
|
+
examples:
|
|
1062
|
+
- http.successMediaType
|
|
1063
|
+
values:
|
|
1064
|
+
type: array
|
|
1065
|
+
description: Value(s) to assign. Typically a single-element array; entries may be any JSON type.
|
|
1066
|
+
examples:
|
|
1067
|
+
- - json
|
|
1068
|
+
_conditionIds:
|
|
1069
|
+
type: array
|
|
1070
|
+
description: Condition IDs that must be satisfied for this entry to apply. Always applies when absent.
|
|
1071
|
+
items:
|
|
1072
|
+
type: string
|
|
1073
|
+
format: objectId
|
|
1074
|
+
examples:
|
|
1075
|
+
- 5f8d43a1b9e5a80011a35f2c
|
|
1076
|
+
fieldsUserMustSet:
|
|
1077
|
+
type: array
|
|
1078
|
+
description: Fields the user must provide values for on the generated export or import.
|
|
1079
|
+
items:
|
|
1080
|
+
type: object
|
|
1081
|
+
properties:
|
|
1082
|
+
path:
|
|
1083
|
+
type: string
|
|
1084
|
+
description: Dot-notation path of the field on the generated export or import.
|
|
1085
|
+
examples:
|
|
1086
|
+
- name
|
|
1087
|
+
values:
|
|
1088
|
+
type: array
|
|
1089
|
+
description: Optional suggested or constrained values. Entries may be any JSON type.
|
|
1090
|
+
examples:
|
|
1091
|
+
- - delta
|
|
1092
|
+
- test
|
|
1093
|
+
_conditionIds:
|
|
1094
|
+
type: array
|
|
1095
|
+
description: Condition IDs that must be satisfied for this entry to apply.
|
|
1096
|
+
items:
|
|
1097
|
+
type: string
|
|
1098
|
+
format: objectId
|
|
1099
|
+
examples:
|
|
1100
|
+
- 5f8d43a1b9e5a80011a35f2c
|
|
1101
|
+
helpURL:
|
|
1102
|
+
type: string
|
|
1103
|
+
description: URL to documentation for this field.
|
|
1104
|
+
examples:
|
|
1105
|
+
- https://docs.celigo.com/hc/en-us
|
|
1106
|
+
labelOverride:
|
|
1107
|
+
type: string
|
|
1108
|
+
description: Custom label shown in the UI instead of the default.
|
|
1109
|
+
examples:
|
|
1110
|
+
- Record name
|
|
1111
|
+
fieldsToUnset:
|
|
1112
|
+
type: array
|
|
1113
|
+
description: Dot-notation paths to clear on the generated export or import.
|
|
1114
|
+
items:
|
|
1115
|
+
type: string
|
|
1116
|
+
examples:
|
|
1117
|
+
- http.paging
|
|
1118
|
+
ResourceSupportedBy:
|
|
1119
|
+
type: object
|
|
1120
|
+
description: |-
|
|
1121
|
+
Defaults the connector framework applies when a user builds an export or
|
|
1122
|
+
an import on one of this resource's endpoints. Each section
|
|
1123
|
+
pre-configures fields, lists the fields the user must still fill in, and
|
|
1124
|
+
clears fields that do not apply.
|
|
1125
|
+
properties:
|
|
1126
|
+
export:
|
|
1127
|
+
$ref: '#/components/schemas/ResourceSupportedBySection'
|
|
1128
|
+
import:
|
|
1129
|
+
allOf:
|
|
1130
|
+
- $ref: '#/components/schemas/ResourceSupportedBySection'
|
|
1131
|
+
- type: object
|
|
1132
|
+
properties:
|
|
1133
|
+
pathParameterToIdentifyExisting:
|
|
1134
|
+
type: string
|
|
1135
|
+
description: |-
|
|
1136
|
+
Path parameter whose value identifies the existing record on
|
|
1137
|
+
an update or upsert import. Needed only when the endpoint has
|
|
1138
|
+
more than one path parameter.
|
|
1139
|
+
examples:
|
|
1140
|
+
- id
|
|
1141
|
+
lookupToIdentifyExisting:
|
|
1142
|
+
type: object
|
|
1143
|
+
description: |-
|
|
1144
|
+
Lookup the import runs to find out whether a record already
|
|
1145
|
+
exists before deciding between create and update. Both
|
|
1146
|
+
fields go together — sending one without the other is
|
|
1147
|
+
rejected.
|
|
1148
|
+
properties:
|
|
1149
|
+
_httpConnectorEndpointId:
|
|
1150
|
+
type: string
|
|
1151
|
+
format: objectId
|
|
1152
|
+
x-celigo-refModel: httpconnectorendpoints
|
|
1153
|
+
description: |-
|
|
1154
|
+
HTTP Connector Endpoint that performs the lookup. Must be
|
|
1155
|
+
an existing endpoint.
|
|
1156
|
+
examples:
|
|
1157
|
+
- 63987132784a39b73aae63ea
|
|
1158
|
+
extract:
|
|
1159
|
+
type: string
|
|
1160
|
+
description: Path in the lookup response to read the existing record's identifier from.
|
|
1161
|
+
examples:
|
|
1162
|
+
- data.0.id
|
|
1163
|
+
HTTPConnectorResourceBase:
|
|
1164
|
+
type: object
|
|
1165
|
+
description: Writable fields shared by the request and response schemas.
|
|
1166
|
+
properties:
|
|
221
1167
|
name:
|
|
222
1168
|
type: string
|
|
223
|
-
description:
|
|
1169
|
+
description: Human-readable name of the API resource this grouping represents (for example "Account", "Contact", "Order").
|
|
224
1170
|
examples:
|
|
225
1171
|
- Account
|
|
1172
|
+
published:
|
|
1173
|
+
type: boolean
|
|
1174
|
+
default: false
|
|
1175
|
+
description: |-
|
|
1176
|
+
When true, the resource is visible to users of the connector's
|
|
1177
|
+
published catalog. Only resources whose owner may publish HTTP
|
|
1178
|
+
connectors appear to other accounts.
|
|
1179
|
+
_httpConnectorId:
|
|
1180
|
+
type: string
|
|
1181
|
+
format: objectId
|
|
1182
|
+
x-celigo-refModel: httpconnectors
|
|
1183
|
+
description: |-
|
|
1184
|
+
HTTP Connector this resource belongs to. Must be a connector owned by
|
|
1185
|
+
the caller's account.
|
|
1186
|
+
examples:
|
|
1187
|
+
- 63987132784a39b73aae63cd
|
|
1188
|
+
_httpConnectorApiId:
|
|
1189
|
+
type: string
|
|
1190
|
+
format: objectId
|
|
1191
|
+
description: |-
|
|
1192
|
+
API group (an entry of the connector's `apis[]`) this resource belongs
|
|
1193
|
+
to. Set only for grouped connectors; flat connectors scope resources by
|
|
1194
|
+
`_versionIds` instead.
|
|
1195
|
+
examples:
|
|
1196
|
+
- 63987132784a39b73aae63d0
|
|
226
1197
|
_versionIds:
|
|
227
1198
|
type: array
|
|
228
|
-
description:
|
|
1199
|
+
description: |-
|
|
1200
|
+
Connector (or API group) versions this resource is available in. Each
|
|
1201
|
+
id must be one of the connector's `versions[]._id` values.
|
|
229
1202
|
items:
|
|
230
1203
|
type: string
|
|
231
1204
|
format: objectId
|
|
232
|
-
examples:
|
|
233
|
-
- 63987132784a39b73aae63ce
|
|
234
|
-
createdAt:
|
|
235
|
-
type: string
|
|
236
|
-
format: date-time
|
|
237
|
-
readOnly: true
|
|
238
|
-
description: Timestamp when created
|
|
239
1205
|
examples:
|
|
240
|
-
-
|
|
241
|
-
|
|
1206
|
+
- - 63987132784a39b73aae63ce
|
|
1207
|
+
_parentResourceId:
|
|
242
1208
|
type: string
|
|
243
|
-
format:
|
|
244
|
-
|
|
245
|
-
description:
|
|
1209
|
+
format: objectId
|
|
1210
|
+
x-celigo-refModel: httpconnectorresources
|
|
1211
|
+
description: |-
|
|
1212
|
+
Parent resource when this resource is nested under another one (for
|
|
1213
|
+
example "Order line" under "Order"). Omit for top-level resources;
|
|
1214
|
+
cannot be combined with `isRoot: true`.
|
|
246
1215
|
examples:
|
|
247
|
-
-
|
|
1216
|
+
- 63987132784a39b73aae63e7
|
|
1217
|
+
isRoot:
|
|
1218
|
+
type: boolean
|
|
1219
|
+
default: false
|
|
1220
|
+
description: |-
|
|
1221
|
+
When true, marks the resource as the root of a resource hierarchy.
|
|
1222
|
+
Rejected together with `_parentResourceId`.
|
|
1223
|
+
metadata:
|
|
1224
|
+
type: object
|
|
1225
|
+
additionalProperties: true
|
|
1226
|
+
description: Free-form metadata stored with the resource, for example Data Intelligence attributes.
|
|
1227
|
+
examples:
|
|
1228
|
+
- note: Primary sales object
|
|
1229
|
+
resourceFields:
|
|
1230
|
+
type: array
|
|
1231
|
+
description: |-
|
|
1232
|
+
Field catalog of the records this resource returns, used by tooling to
|
|
1233
|
+
describe the API's payloads. Fields nest through their own
|
|
1234
|
+
`resourceFields`.
|
|
1235
|
+
items:
|
|
1236
|
+
$ref: '#/components/schemas/ResourceField'
|
|
1237
|
+
supportedBy:
|
|
1238
|
+
$ref: '#/components/schemas/ResourceSupportedBy'
|
|
1239
|
+
HTTPConnectorResource:
|
|
1240
|
+
type: object
|
|
1241
|
+
required:
|
|
1242
|
+
- _id
|
|
1243
|
+
- _httpConnectorId
|
|
1244
|
+
- name
|
|
1245
|
+
- published
|
|
1246
|
+
- createdAt
|
|
1247
|
+
- lastModified
|
|
1248
|
+
description: |-
|
|
1249
|
+
HTTP Connector Resource as returned by `GET /v1/httpconnectorresources`,
|
|
1250
|
+
`GET /v1/httpconnectorresources/{_id}`, and the nested
|
|
1251
|
+
`GET /v1/httpconnectors/{_httpConnectorId}/{_id}` — all three return the
|
|
1252
|
+
same object. Optional fields that were never set are absent.
|
|
1253
|
+
allOf:
|
|
1254
|
+
- $ref: '#/components/schemas/HTTPConnectorResourceBase'
|
|
1255
|
+
- type: object
|
|
1256
|
+
properties:
|
|
1257
|
+
_id:
|
|
1258
|
+
type: string
|
|
1259
|
+
format: objectId
|
|
1260
|
+
readOnly: true
|
|
1261
|
+
x-celigo-refModel: httpconnectorresources
|
|
1262
|
+
description: |-
|
|
1263
|
+
Unique identifier for the resource. Doubles as the
|
|
1264
|
+
`_httpConnectorResourceId` path parameter of the HTTP Connector
|
|
1265
|
+
Endpoints API.
|
|
1266
|
+
examples:
|
|
1267
|
+
- 63987132784a39b73aae63e7
|
|
1268
|
+
createdAt:
|
|
1269
|
+
type: string
|
|
1270
|
+
format: date-time
|
|
1271
|
+
readOnly: true
|
|
1272
|
+
description: Timestamp when the resource was created.
|
|
1273
|
+
examples:
|
|
1274
|
+
- '2023-01-17T09:51:53.665Z'
|
|
1275
|
+
lastModified:
|
|
1276
|
+
type: string
|
|
1277
|
+
format: date-time
|
|
1278
|
+
readOnly: true
|
|
1279
|
+
description: Timestamp when the resource was last updated. Changes on every PUT.
|
|
1280
|
+
examples:
|
|
1281
|
+
- '2024-05-23T07:00:31.350Z'
|
|
248
1282
|
Error:
|
|
249
1283
|
type: object
|
|
250
1284
|
description: Standard error response envelope returned by integrator.io APIs.
|
|
@@ -285,65 +1319,68 @@ components:
|
|
|
285
1319
|
- message
|
|
286
1320
|
required:
|
|
287
1321
|
- errors
|
|
288
|
-
|
|
1322
|
+
Request:
|
|
289
1323
|
type: object
|
|
1324
|
+
description: |-
|
|
1325
|
+
Fields for creating or updating an HTTP Connector Resource through
|
|
1326
|
+
`POST /v1/httpconnectorresources` and `PUT /v1/httpconnectorresources/{_id}`.
|
|
1327
|
+
PUT replaces the whole document — omitted optional fields are cleared,
|
|
1328
|
+
except `published` and `isRoot`, which keep their stored values.
|
|
290
1329
|
required:
|
|
291
|
-
-
|
|
1330
|
+
- name
|
|
292
1331
|
- _httpConnectorId
|
|
1332
|
+
x-celigo-ai-guidance:
|
|
1333
|
+
- Omitting _httpConnectorId fails with 422 invalid_ref " is not a valid _httpConnectorId"; omitting name fails with 422 missing_required_field. _versionIds is optional but each id must be one of the connector's versions[]._id values or the create fails with 422 invalid_ref "<id> is not a valid _versionId".
|
|
1334
|
+
allOf:
|
|
1335
|
+
- $ref: '#/components/schemas/HTTPConnectorResourceBase'
|
|
1336
|
+
ListItem:
|
|
1337
|
+
type: object
|
|
1338
|
+
description: |-
|
|
1339
|
+
Abridged HTTP Connector Resource returned by the nested
|
|
1340
|
+
`GET /v1/httpconnectors/{_httpConnectorId}/httpconnectorresources`
|
|
1341
|
+
catalog listing. Omits `published`, `_httpConnectorId`, and the
|
|
1342
|
+
configuration fields; fetch the full object by id.
|
|
1343
|
+
required:
|
|
1344
|
+
- _id
|
|
293
1345
|
- name
|
|
294
|
-
- published
|
|
295
1346
|
- createdAt
|
|
296
1347
|
- lastModified
|
|
297
|
-
description: HTTP Connector Resource object as returned by the API
|
|
298
1348
|
properties:
|
|
299
1349
|
_id:
|
|
300
1350
|
type: string
|
|
301
1351
|
format: objectId
|
|
302
|
-
description: Unique identifier for the HTTP Connector Resource
|
|
303
1352
|
readOnly: true
|
|
304
1353
|
x-celigo-refModel: httpconnectorresources
|
|
1354
|
+
description: Unique identifier for the resource.
|
|
305
1355
|
examples:
|
|
306
1356
|
- 63987132784a39b73aae63e7
|
|
307
1357
|
name:
|
|
308
1358
|
type: string
|
|
309
|
-
description: Human-readable name
|
|
1359
|
+
description: Human-readable name of the API resource.
|
|
310
1360
|
examples:
|
|
311
1361
|
- Account
|
|
312
|
-
published:
|
|
313
|
-
type: boolean
|
|
314
|
-
description: When true, this resource is published and visible to users.
|
|
315
|
-
_httpConnectorId:
|
|
316
|
-
type: string
|
|
317
|
-
format: objectId
|
|
318
|
-
description: |-
|
|
319
|
-
Parent HTTP Connector ID. Only present in the detail (by-ID) response,
|
|
320
|
-
omitted from list responses.
|
|
321
|
-
readOnly: true
|
|
322
|
-
x-celigo-refModel: httpconnectors
|
|
323
|
-
examples:
|
|
324
|
-
- 63987132784a39b73aae63cd
|
|
325
1362
|
_versionIds:
|
|
326
1363
|
type: array
|
|
327
|
-
description: Connector version IDs this resource
|
|
1364
|
+
description: Connector version IDs this resource is available in. Absent when the resource is not tied to a version.
|
|
328
1365
|
items:
|
|
329
1366
|
type: string
|
|
330
1367
|
format: objectId
|
|
331
|
-
|
|
332
|
-
|
|
1368
|
+
examples:
|
|
1369
|
+
- - 63987132784a39b73aae63ce
|
|
333
1370
|
createdAt:
|
|
334
1371
|
type: string
|
|
335
1372
|
format: date-time
|
|
336
|
-
description: Timestamp when created
|
|
337
1373
|
readOnly: true
|
|
1374
|
+
description: Timestamp when the resource was created.
|
|
338
1375
|
examples:
|
|
339
1376
|
- '2023-01-17T09:51:53.665Z'
|
|
340
1377
|
lastModified:
|
|
341
1378
|
type: string
|
|
342
1379
|
format: date-time
|
|
343
|
-
description: Timestamp when last modified
|
|
344
1380
|
readOnly: true
|
|
1381
|
+
description: Timestamp when the resource was last updated.
|
|
345
1382
|
examples:
|
|
346
|
-
- '2024-05-23T07:00:
|
|
1383
|
+
- '2024-05-23T07:00:29.858Z'
|
|
347
1384
|
responses:
|
|
348
1385
|
401-unauthorized:
|
|
349
1386
|
description: |-
|
|
@@ -379,6 +1416,32 @@ components:
|
|
|
379
1416
|
summary: Bearer token invalid or revoked
|
|
380
1417
|
value:
|
|
381
1418
|
message: Bearer Authentication Failed
|
|
1419
|
+
403-forbidden:
|
|
1420
|
+
description: |
|
|
1421
|
+
Forbidden. The authenticated caller does not have permission to perform this operation.
|
|
1422
|
+
content:
|
|
1423
|
+
application/json:
|
|
1424
|
+
schema:
|
|
1425
|
+
$ref: '#/components/schemas/Error'
|
|
1426
|
+
examples:
|
|
1427
|
+
default:
|
|
1428
|
+
value:
|
|
1429
|
+
errors:
|
|
1430
|
+
- code: forbidden
|
|
1431
|
+
message: You do not have permission to access this resource.
|
|
1432
|
+
400-bad-request:
|
|
1433
|
+
description: |
|
|
1434
|
+
Bad request. The server could not understand the request because of malformed syntax or invalid parameters.
|
|
1435
|
+
content:
|
|
1436
|
+
application/json:
|
|
1437
|
+
schema:
|
|
1438
|
+
$ref: '#/components/schemas/Error'
|
|
1439
|
+
examples:
|
|
1440
|
+
default:
|
|
1441
|
+
value:
|
|
1442
|
+
errors:
|
|
1443
|
+
- code: invalid_request
|
|
1444
|
+
message: The request body failed validation.
|
|
382
1445
|
404-not-found:
|
|
383
1446
|
description: |
|
|
384
1447
|
Not found. The requested resource does not exist or is not visible to the caller.
|
|
@@ -392,5 +1455,18 @@ components:
|
|
|
392
1455
|
errors:
|
|
393
1456
|
- code: not_found
|
|
394
1457
|
message: The requested resource was not found.
|
|
1458
|
+
422-unprocessable-entity:
|
|
1459
|
+
description: |
|
|
1460
|
+
Unprocessable entity. The request was well-formed but was unable to be followed due to semantic errors.
|
|
1461
|
+
content:
|
|
1462
|
+
application/json:
|
|
1463
|
+
schema:
|
|
1464
|
+
$ref: '#/components/schemas/Error'
|
|
1465
|
+
examples:
|
|
1466
|
+
default:
|
|
1467
|
+
value:
|
|
1468
|
+
errors:
|
|
1469
|
+
- code: unprocessable_entity
|
|
1470
|
+
message: The request could not be processed due to a semantic error.
|
|
395
1471
|
x-enable-proxy: true
|
|
396
1472
|
x-internal: false
|