@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.
@@ -23,26 +23,31 @@ tags:
23
23
  and supported-by rules that control how exports and imports are
24
24
  pre-configured when users select this endpoint.
25
25
 
26
- Endpoints are classified by `supportedBy.type`:
27
- - **export** — reads data from the target system.
28
- - **import** — writes data to the target system.
26
+ Manage your own endpoints through `/v1/httpconnectorendpoints` (list,
27
+ create) and `/v1/httpconnectorendpoints/{_id}` (get, update, delete).
28
+ The nested `/v1/httpconnectors/{_httpConnectorId}/{_httpConnectorResourceId}/...`
29
+ routes are read-only views scoped to one resource that also reach
30
+ endpoints published by other partners; an endpoint read through either
31
+ route is the same object.
29
32
 
30
33
  ## HTTP connector endpoint schema
31
34
 
32
35
  {% openapi-schemas spec="httpconnectorendpoint" schemas="HTTPConnectorEndpoint" grouped="true" %}
33
36
  paths:
34
- /v1/httpconnectors/{_httpConnectorId}/{_httpConnectorResourceId}/httpconnectorendpoints:
37
+ /v1/httpconnectorendpoints:
35
38
  get:
36
39
  x-internal: false
37
- operationId: listHttpConnectorEndpoints
40
+ operationId: listOwnHttpConnectorEndpoints
38
41
  tags:
39
42
  - HTTP Connector Endpoints
40
- summary: List HTTP Connector Endpoints for a connector resource
43
+ summary: List your HTTP Connector Endpoints
41
44
  description: |-
42
- Returns all endpoints defined under the given HTTP Connector Resource.
43
- The list response is abridged — only `_id`, `name`, `createdAt`, and
44
- `lastModified` are returned. Use the by-ID endpoint for the full object
45
- including `method`, `relativeURI`, and `supportedBy`.
45
+ Returns the full HTTP Connector Endpoints owned by the account, across all
46
+ of its connectors and resources, sorted by name. This is the canonical
47
+ CRUD listing; to browse the endpoints of one resource — including
48
+ endpoints published by other partners — use the scoped
49
+ `GET /v1/httpconnectors/{_httpConnectorId}/{_httpConnectorResourceId}/httpconnectorendpoints`,
50
+ which returns an abridged shape.
46
51
  parameters:
47
52
  - name: limit
48
53
  in: query
@@ -53,6 +58,391 @@ paths:
53
58
  examples:
54
59
  - 100
55
60
  - $ref: '#/components/parameters/After'
61
+ responses:
62
+ '200':
63
+ description: Array of the account's HTTP Connector Endpoints.
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/HTTPConnectorEndpoint'
77
+ examples:
78
+ one_endpoint:
79
+ value:
80
+ - _id: 6ab1f999d38090b49147cf00
81
+ name: List items
82
+ description: Returns the items of the account.
83
+ createdAt: '2026-09-22T03:44:25.604Z'
84
+ lastModified: '2026-09-22T03:44:25.662Z'
85
+ published: false
86
+ isBlob: false
87
+ isMappingRequired: true
88
+ mergePostBodyToPagingPostBody: false
89
+ _httpConnectorResourceIds:
90
+ - 6ab1f97fdda4c325517b57b9
91
+ method: GET
92
+ relativeURI: /items/{{{id}}}
93
+ queryParameters:
94
+ - name: status
95
+ label: Status
96
+ description: Filter by status
97
+ required: false
98
+ dataType: select
99
+ values:
100
+ - open
101
+ - closed
102
+ pathParameters:
103
+ - name: id
104
+ label: Item ID
105
+ required: true
106
+ dataType: input
107
+ supportedBy:
108
+ type: export
109
+ preConfiguredFields:
110
+ - path: http.response.resourcePath
111
+ values:
112
+ - data
113
+ fieldsUserMustSet:
114
+ - path: type
115
+ values:
116
+ - delta
117
+ - test
118
+ fieldsToUnset:
119
+ - http.paging.method
120
+ '204':
121
+ description: The account owns no HTTP Connector Endpoints.
122
+ '401':
123
+ $ref: '#/components/responses/401-unauthorized'
124
+ '403':
125
+ $ref: '#/components/responses/403-forbidden'
126
+ post:
127
+ x-internal: false
128
+ operationId: createHttpConnectorEndpoint
129
+ tags:
130
+ - HTTP Connector Endpoints
131
+ summary: Create an HTTP Connector Endpoint
132
+ description: |-
133
+ Creates an operation under one or more of your HTTP Connector Resources.
134
+ Create the resource first (`POST /v1/httpconnectorresources`) and list
135
+ its id in `_httpConnectorResourceIds`; `supportedBy.type` decides whether
136
+ users build exports or imports on the endpoint. `method` is uppercased on
137
+ save, so `get` is stored as `GET`.
138
+ requestBody:
139
+ required: true
140
+ content:
141
+ application/json:
142
+ schema:
143
+ $ref: '#/components/schemas/Request'
144
+ examples:
145
+ minimal:
146
+ summary: Export endpoint with the required fields only
147
+ value:
148
+ name: List items
149
+ method: GET
150
+ relativeURI: /items
151
+ _httpConnectorResourceIds:
152
+ - 6ab1f97fdda4c325517b57b9
153
+ supportedBy:
154
+ type: export
155
+ import_with_lookup:
156
+ summary: Import endpoint that looks up the existing record first
157
+ value:
158
+ name: Create or update item
159
+ method: POST
160
+ relativeURI: /items
161
+ _httpConnectorResourceIds:
162
+ - 6ab1f97fdda4c325517b57b9
163
+ supportedBy:
164
+ type: import
165
+ pathParameterToIdentifyExisting: id
166
+ lookupToIdentifyExisting:
167
+ _httpConnectorEndpointId: 6ab1f999d38090b49147cf00
168
+ extract: data.0.id
169
+ responses:
170
+ '201':
171
+ description: Created endpoint.
172
+ content:
173
+ application/json:
174
+ schema:
175
+ $ref: '#/components/schemas/HTTPConnectorEndpoint'
176
+ examples:
177
+ created:
178
+ value:
179
+ _id: 6ab1f999d38090b49147cf00
180
+ name: List items
181
+ createdAt: '2026-09-22T03:44:25.604Z'
182
+ lastModified: '2026-09-22T03:44:25.662Z'
183
+ published: false
184
+ isBlob: false
185
+ isMappingRequired: false
186
+ mergePostBodyToPagingPostBody: false
187
+ _httpConnectorResourceIds:
188
+ - 6ab1f97fdda4c325517b57b9
189
+ method: GET
190
+ relativeURI: /items
191
+ supportedBy:
192
+ type: export
193
+ '400':
194
+ $ref: '#/components/responses/400-bad-request'
195
+ '401':
196
+ $ref: '#/components/responses/401-unauthorized'
197
+ '403':
198
+ $ref: '#/components/responses/403-forbidden'
199
+ '422':
200
+ description: |-
201
+ A required field is missing, `method` or `supportedBy.type` is
202
+ outside its enum, a referenced resource or lookup endpoint is not
203
+ yours, or Data Intelligence metadata was sent for an unpublished
204
+ endpoint. Several problems are reported together.
205
+ content:
206
+ application/json:
207
+ schema:
208
+ $ref: '#/components/schemas/Error'
209
+ examples:
210
+ missing_fields:
211
+ summary: Body without _httpConnectorResourceIds and supportedBy
212
+ value:
213
+ errors:
214
+ - field: _httpConnectorResourceIds
215
+ code: missing_required_field
216
+ message: 'Expected field: _httpConnectorResourceIds to be present.'
217
+ - field: supportedBy.type
218
+ code: missing_required_field
219
+ message: Path `supportedBy.type` is required.
220
+ invalid_method:
221
+ value:
222
+ errors:
223
+ - field: method
224
+ code: enum
225
+ message: '`FETCH` is not a valid enum value for path `method`.'
226
+ invalid_resource:
227
+ value:
228
+ errors:
229
+ - field: _httpConnectorResourceId[0]
230
+ code: invalid_ref
231
+ message: ' is not a valid _httpConnectorResourceIds'
232
+ unpublished_di_metadata:
233
+ value:
234
+ errors:
235
+ - field: metadata.di.isListEndpoint.published
236
+ code: must_be_published
237
+ message: 'Invalid metadata.di.isListEndpoint: must_be_published.'
238
+ /v1/httpconnectorendpoints/{_id}:
239
+ get:
240
+ x-internal: false
241
+ operationId: getOwnHttpConnectorEndpointById
242
+ tags:
243
+ - HTTP Connector Endpoints
244
+ summary: Get one of your HTTP Connector Endpoints
245
+ description: |-
246
+ Returns the full endpoint. The nested
247
+ `GET /v1/httpconnectors/{_httpConnectorId}/{_httpConnectorResourceId}/{_id}`
248
+ returns the identical object and additionally reaches endpoints published
249
+ by other partners; this route is limited to endpoints the account owns.
250
+ parameters:
251
+ - in: path
252
+ name: _id
253
+ required: true
254
+ schema:
255
+ type: string
256
+ format: objectId
257
+ x-celigo-refModel: httpconnectorendpoints
258
+ examples:
259
+ - 6ab1f999d38090b49147cf00
260
+ description: HTTP Connector Endpoint ID.
261
+ responses:
262
+ '200':
263
+ description: The endpoint.
264
+ content:
265
+ application/json:
266
+ schema:
267
+ $ref: '#/components/schemas/HTTPConnectorEndpoint'
268
+ examples:
269
+ detail:
270
+ value:
271
+ _id: 6ab1f999d38090b49147cf00
272
+ name: List items
273
+ description: Returns the items of the account.
274
+ createdAt: '2026-09-22T03:44:25.604Z'
275
+ lastModified: '2026-09-22T03:44:25.662Z'
276
+ published: false
277
+ isBlob: false
278
+ isMappingRequired: true
279
+ mergePostBodyToPagingPostBody: false
280
+ _httpConnectorResourceIds:
281
+ - 6ab1f97fdda4c325517b57b9
282
+ method: GET
283
+ relativeURI: /items/{{{id}}}
284
+ pathParameters:
285
+ - name: id
286
+ label: Item ID
287
+ required: true
288
+ dataType: input
289
+ supportedBy:
290
+ type: export
291
+ preConfiguredFields:
292
+ - path: http.response.resourcePath
293
+ values:
294
+ - data
295
+ '401':
296
+ $ref: '#/components/responses/401-unauthorized'
297
+ '403':
298
+ $ref: '#/components/responses/403-forbidden'
299
+ '404':
300
+ description: No endpoint with this id is owned by the account.
301
+ content:
302
+ application/json:
303
+ schema:
304
+ $ref: '#/components/schemas/Error'
305
+ examples:
306
+ not_found:
307
+ value:
308
+ errors:
309
+ - code: invalid_ref
310
+ message: HttpConnectorEndpoint not found.
311
+ put:
312
+ x-internal: false
313
+ operationId: updateHttpConnectorEndpoint
314
+ tags:
315
+ - HTTP Connector Endpoints
316
+ summary: Update an HTTP Connector Endpoint
317
+ description: |-
318
+ Replaces the endpoint with the request body. Send the complete document —
319
+ `description`, `queryParameters`, `pathParameters`, `resourceFields`, and
320
+ the `supportedBy` details are cleared when left out and
321
+ `isMappingRequired` / `mergePostBodyToPagingPostBody` revert to `false`,
322
+ while `published` and `isBlob` keep their stored values when omitted. The
323
+ five create-time requireds are required on every PUT.
324
+ parameters:
325
+ - in: path
326
+ name: _id
327
+ required: true
328
+ schema:
329
+ type: string
330
+ format: objectId
331
+ x-celigo-refModel: httpconnectorendpoints
332
+ examples:
333
+ - 6ab1f999d38090b49147cf00
334
+ description: HTTP Connector Endpoint ID.
335
+ requestBody:
336
+ required: true
337
+ content:
338
+ application/json:
339
+ schema:
340
+ $ref: '#/components/schemas/Request'
341
+ examples:
342
+ switch_to_import:
343
+ summary: Turn the endpoint into an import operation
344
+ value:
345
+ name: Create item
346
+ method: POST
347
+ relativeURI: /items
348
+ _httpConnectorResourceIds:
349
+ - 6ab1f97fdda4c325517b57b9
350
+ supportedBy:
351
+ type: import
352
+ responses:
353
+ '200':
354
+ description: Updated endpoint.
355
+ content:
356
+ application/json:
357
+ schema:
358
+ $ref: '#/components/schemas/HTTPConnectorEndpoint'
359
+ examples:
360
+ updated:
361
+ value:
362
+ _id: 6ab1f999d38090b49147cf00
363
+ name: Create item
364
+ createdAt: '2026-09-22T03:44:25.604Z'
365
+ lastModified: '2026-09-22T03:41:33.711Z'
366
+ published: false
367
+ isBlob: false
368
+ isMappingRequired: false
369
+ mergePostBodyToPagingPostBody: false
370
+ _httpConnectorResourceIds:
371
+ - 6ab1f97fdda4c325517b57b9
372
+ method: POST
373
+ relativeURI: /items
374
+ supportedBy:
375
+ type: import
376
+ '400':
377
+ $ref: '#/components/responses/400-bad-request'
378
+ '401':
379
+ $ref: '#/components/responses/401-unauthorized'
380
+ '403':
381
+ $ref: '#/components/responses/403-forbidden'
382
+ '404':
383
+ $ref: '#/components/responses/404-not-found'
384
+ '422':
385
+ $ref: '#/components/responses/422-unprocessable-entity'
386
+ delete:
387
+ x-internal: false
388
+ operationId: deleteHttpConnectorEndpoint
389
+ tags:
390
+ - HTTP Connector Endpoints
391
+ summary: Delete an HTTP Connector Endpoint
392
+ description: |-
393
+ Deletes the endpoint. Refused while another endpoint still names it in
394
+ `supportedBy.lookupToIdentifyExisting._httpConnectorEndpointId` — update
395
+ or delete that endpoint first. Not recoverable through the recycle bin.
396
+ parameters:
397
+ - in: path
398
+ name: _id
399
+ required: true
400
+ schema:
401
+ type: string
402
+ format: objectId
403
+ x-celigo-refModel: httpconnectorendpoints
404
+ examples:
405
+ - 6ab1f999d38090b49147cf00
406
+ description: HTTP Connector Endpoint ID.
407
+ responses:
408
+ '204':
409
+ description: Endpoint deleted.
410
+ '401':
411
+ $ref: '#/components/responses/401-unauthorized'
412
+ '403':
413
+ $ref: '#/components/responses/403-forbidden'
414
+ '404':
415
+ $ref: '#/components/responses/404-not-found'
416
+ '422':
417
+ description: Another endpoint's lookup still references this endpoint.
418
+ content:
419
+ application/json:
420
+ schema:
421
+ $ref: '#/components/schemas/Error'
422
+ examples:
423
+ referenced:
424
+ value:
425
+ errors:
426
+ - code: delete_not_allowed
427
+ message: 'this document is referenced by HttpConnectorEndpoint : 6ab1f99944e1de3266eb80e2'
428
+ /v1/httpconnectors/{_httpConnectorId}/{_httpConnectorResourceId}/httpconnectorendpoints:
429
+ get:
430
+ x-internal: false
431
+ operationId: listHttpConnectorEndpoints
432
+ tags:
433
+ - HTTP Connector Endpoints
434
+ summary: List a resource's HTTP Connector Endpoints
435
+ description: |-
436
+ Returns the endpoints defined under the given HTTP Connector Resource —
437
+ your own and, for resources published by other partners, their published
438
+ endpoints — sorted by name. The whole list is returned in one response.
439
+
440
+ The shape is abridged: only `_id`, `name`, `description`, `createdAt`,
441
+ and `lastModified` are returned. Use the by-ID endpoint for the full
442
+ object including `method`, `relativeURI`, and `supportedBy`, or
443
+ `GET /v1/httpconnectorendpoints` for the full shape of everything your
444
+ account owns.
445
+ parameters:
56
446
  - in: path
57
447
  name: _httpConnectorId
58
448
  required: true
@@ -69,6 +459,7 @@ paths:
69
459
  schema:
70
460
  type: string
71
461
  format: objectId
462
+ x-celigo-refModel: httpconnectorresources
72
463
  examples:
73
464
  - 63987132784a39b73aae63e7
74
465
  description: HTTP Connector Resource ID.
@@ -82,22 +473,18 @@ paths:
82
473
  x-enumDescriptions:
83
474
  import: Return only endpoints used as imports (write to target system).
84
475
  export: Return only endpoints used as exports (read from target system).
85
- description: Filter endpoints by their supported-by direction.
476
+ description: Return only endpoints whose `supportedBy.type` matches.
86
477
  - in: query
87
478
  name: publishedOnly
88
479
  schema:
89
480
  type: boolean
90
- description: When true, only return published endpoints.
481
+ default: false
482
+ description: |-
483
+ When true, returns only published endpoints. The connector must be
484
+ published as well, otherwise the request fails with 404.
91
485
  responses:
92
486
  '200':
93
- description: Successfully retrieved list of HTTP Connector Endpoints.
94
- headers:
95
- Link:
96
- description: |-
97
- RFC-5988 pagination links. When more pages remain, includes a `<...>; rel="next"` entry;
98
- absent on the final page.
99
- schema:
100
- type: string
487
+ description: Abridged endpoints of the resource.
101
488
  content:
102
489
  application/json:
103
490
  schema:
@@ -109,6 +496,7 @@ paths:
109
496
  value:
110
497
  - _id: 63987132784a39b73aae63e8
111
498
  name: List
499
+ description: Returns all answers for a question.
112
500
  createdAt: '2023-01-17T09:52:06.871Z'
113
501
  lastModified: '2024-05-23T07:00:46.308Z'
114
502
  - _id: 63987132784a39b73aae63e9
@@ -120,7 +508,19 @@ paths:
120
508
  '401':
121
509
  $ref: '#/components/responses/401-unauthorized'
122
510
  '404':
123
- $ref: '#/components/responses/404-not-found'
511
+ description: |-
512
+ The connector or resource does not exist, or is neither yours nor
513
+ published.
514
+ content:
515
+ application/json:
516
+ schema:
517
+ $ref: '#/components/schemas/Error'
518
+ examples:
519
+ not_found:
520
+ value:
521
+ errors:
522
+ - code: invalid_ref
523
+ message: httpConnectorResource not found or not published.
124
524
  /v1/httpconnectors/{_httpConnectorId}/{_httpConnectorResourceId}/{_id}:
125
525
  get:
126
526
  x-internal: false
@@ -131,7 +531,9 @@ paths:
131
531
  description: |-
132
532
  Retrieves the full HTTP Connector Endpoint including `method`,
133
533
  `relativeURI`, `queryParameters`, `pathParameters`, and `supportedBy`
134
- details omitted from the list endpoint.
534
+ details omitted from the list endpoint — the same object
535
+ `GET /v1/httpconnectorendpoints/{_id}` returns, but this route also
536
+ reaches endpoints published by other partners.
135
537
  parameters:
136
538
  - in: path
137
539
  name: _httpConnectorId
@@ -149,6 +551,7 @@ paths:
149
551
  schema:
150
552
  type: string
151
553
  format: objectId
554
+ x-celigo-refModel: httpconnectorresources
152
555
  examples:
153
556
  - 63987132784a39b73aae63e7
154
557
  description: HTTP Connector Resource ID.
@@ -223,113 +626,47 @@ components:
223
626
  schema:
224
627
  type: string
225
628
  schemas:
226
- ListItem:
227
- type: object
228
- description: |-
229
- Abridged HTTP Connector Endpoint returned in list responses. Only
230
- includes identity and timestamp fields. Use the by-ID endpoint for
231
- the full object including method, relativeURI, and supportedBy.
232
- properties:
233
- _id:
234
- type: string
235
- format: objectId
236
- readOnly: true
237
- description: Unique identifier for the resource. Format is a 24-character hexadecimal string.
238
- x-celigo-refModel: httpconnectorendpoints
239
- examples:
240
- - 63987132784a39b73aae63e8
241
- name:
242
- type: string
243
- description: Human-readable name for this endpoint.
244
- examples:
245
- - List
246
- createdAt:
247
- type: string
248
- format: date-time
249
- readOnly: true
250
- description: Timestamp when the resource was created. Set automatically and cannot be modified.
251
- examples:
252
- - '2023-01-17T09:52:06.871Z'
253
- lastModified:
254
- type: string
255
- format: date-time
256
- readOnly: true
257
- description: Timestamp when the resource was last updated. Changes whenever any property is modified.
258
- examples:
259
- - '2024-05-23T07:00:46.308Z'
260
- Error:
261
- type: object
262
- description: Standard error response envelope returned by integrator.io APIs.
263
- properties:
264
- errors:
265
- type: array
266
- description: List of errors that occurred while processing the request.
267
- items:
268
- type: object
269
- properties:
270
- code:
271
- oneOf:
272
- - type: string
273
- - type: integer
274
- description: |-
275
- Machine-readable error code. Usually a string like
276
- `invalid_ref`, `missing_required_field`, or `unauthorized`;
277
- may be an **integer** when the error mirrors an upstream HTTP
278
- status (e.g. `500`) — most commonly returned by connection-ping
279
- and adaptor-proxy responses.
280
- message:
281
- type: string
282
- description: Human-readable description of the error.
283
- field:
284
- type: string
285
- description: |-
286
- Optional pointer to the document field that caused the error.
287
- Used by structural validation errors (`missing_required_field`,
288
- `invalid_ref`) to indicate which field is at fault
289
- (e.g. `_id`, `type`, `http.baseURI`).
290
- source:
291
- type: string
292
- description: |-
293
- Optional origin layer for the error — e.g. `application` when
294
- the error came from the remote system the adaptor called,
295
- `connector` when the adaptor itself rejected the request.
296
- required:
297
- - message
298
- required:
299
- - errors
300
629
  HTTPConnectorEndpointBase:
301
630
  type: object
302
631
  description: Writable fields shared by the request and response schemas.
303
632
  properties:
304
633
  name:
305
634
  type: string
306
- description: Human-readable name for this endpoint
635
+ description: Human-readable name for this endpoint, shown when users pick an operation.
307
636
  maxLength: 255
308
637
  examples:
309
638
  - List
310
639
  description:
311
640
  type: string
312
- description: Optional endpoint description
641
+ description: Help text describing what the endpoint does. Absent when never set.
313
642
  maxLength: 10240
314
643
  examples:
315
644
  - Returns all answers for a question.
316
645
  published:
317
646
  type: boolean
318
- description: When true, this endpoint is published and available for use.
647
+ default: false
648
+ description: |-
649
+ When true, this endpoint is visible in the connector's published
650
+ catalog. Kept as stored when omitted on PUT.
319
651
  isBlob:
320
652
  type: boolean
321
- description: When true, this endpoint handles binary/blob data.
322
653
  default: false
654
+ description: When true, this endpoint transfers binary (blob) content instead of records. Kept as stored when omitted on PUT.
323
655
  isMappingRequired:
324
656
  type: boolean
325
- description: When true, field mapping is required for this endpoint.
326
657
  default: false
658
+ description: When true, users must configure field mappings before an import built on this endpoint can run.
327
659
  _httpConnectorResourceIds:
328
660
  type: array
329
- description: References to HTTP Connector Resources associated with this endpoint
661
+ minItems: 1
662
+ description: |-
663
+ HTTP Connector Resources this endpoint is listed under. Each id must
664
+ be a resource owned by the caller's account; the endpoint appears in
665
+ the nested listing of every resource named here.
330
666
  items:
331
667
  type: string
332
668
  format: objectId
669
+ x-celigo-refModel: httpconnectorresources
333
670
  examples:
334
671
  - 63987132784a39b73aae63e7
335
672
  method:
@@ -373,7 +710,7 @@ components:
373
710
  - question_id
374
711
  label:
375
712
  type: string
376
- description: Label shown to users in the UI for this parameter.
713
+ description: Label shown to users in the UI for this parameter. Defaults to `name` when omitted.
377
714
  examples:
378
715
  - Question ID
379
716
  description:
@@ -393,6 +730,7 @@ components:
393
730
  - multiselect
394
731
  - array
395
732
  - number
733
+ default: input
396
734
  x-enumDescriptions:
397
735
  input: Free-form text input field.
398
736
  date: Date picker input field.
@@ -400,7 +738,7 @@ components:
400
738
  multiselect: Multi-value dropdown selection.
401
739
  array: Array of values.
402
740
  number: Numeric input field.
403
- description: UI input type used to collect the parameter value.
741
+ description: UI input type used to collect the parameter value. A free-form text input when omitted.
404
742
  values:
405
743
  type: array
406
744
  description: Predefined values offered when `dataType` is `select` or `multiselect`.
@@ -410,7 +748,6 @@ components:
410
748
  - open
411
749
  required:
412
750
  - name
413
- - label
414
751
  pathParameters:
415
752
  type: array
416
753
  description: Path parameter definitions
@@ -424,7 +761,7 @@ components:
424
761
  - id
425
762
  label:
426
763
  type: string
427
- description: Label shown to users in the UI for this parameter.
764
+ description: Label shown to users in the UI for this parameter. Defaults to `name` when omitted.
428
765
  examples:
429
766
  - Answer ID
430
767
  description:
@@ -444,6 +781,7 @@ components:
444
781
  - multiselect
445
782
  - array
446
783
  - number
784
+ default: input
447
785
  x-enumDescriptions:
448
786
  input: Free-form text input field.
449
787
  date: Date picker input field.
@@ -451,7 +789,7 @@ components:
451
789
  multiselect: Multi-value dropdown selection.
452
790
  array: Array of values.
453
791
  number: Numeric input field.
454
- description: UI input type used to collect the parameter value.
792
+ description: UI input type used to collect the parameter value. A free-form text input when omitted.
455
793
  values:
456
794
  type: array
457
795
  description: Predefined values offered when `dataType` is `select` or `multiselect`.
@@ -461,7 +799,6 @@ components:
461
799
  - open
462
800
  required:
463
801
  - name
464
- - label
465
802
  resourceFields:
466
803
  type: array
467
804
  description: Resource field definitions for this endpoint
@@ -496,7 +833,12 @@ components:
496
833
  - _httpConnectorResourceId
497
834
  supportedBy:
498
835
  type: object
499
- description: Supported-by configuration for this endpoint (framework-defined)
836
+ description: |-
837
+ How the connector framework turns this endpoint into an export or an
838
+ import: which one it becomes, the fields it pre-configures, and the
839
+ fields the user must still fill in.
840
+ required:
841
+ - type
500
842
  properties:
501
843
  type:
502
844
  type: string
@@ -506,7 +848,9 @@ components:
506
848
  x-enumDescriptions:
507
849
  import: This endpoint is used as an import (writes data to the target system).
508
850
  export: This endpoint is used as an export (reads data from the target system).
509
- description: Whether this endpoint is consumed as an import or an export.
851
+ description: |-
852
+ Whether this endpoint is consumed as an import or an export. Also
853
+ the value the nested listing's `supportedByType` filter matches.
510
854
  conditions:
511
855
  type: array
512
856
  description: Expression-based filters that control when entries in `preConfiguredFields` and `fieldsUserMustSet` apply.
@@ -611,28 +955,29 @@ components:
611
955
  - method
612
956
  - relativeURI
613
957
  - published
958
+ - isBlob
959
+ - isMappingRequired
960
+ - mergePostBodyToPagingPostBody
961
+ - _httpConnectorResourceIds
614
962
  - createdAt
615
963
  - lastModified
616
- description: HTTP Connector Endpoint object as returned by the detail (by-ID) endpoint.
964
+ description: |-
965
+ HTTP Connector Endpoint as returned by `GET /v1/httpconnectorendpoints`,
966
+ `GET /v1/httpconnectorendpoints/{_id}`, and the nested
967
+ `GET /v1/httpconnectors/{_httpConnectorId}/{_httpConnectorResourceId}/{_id}`
968
+ — all three return the same object. Optional fields that were never set
969
+ are absent.
617
970
  allOf:
618
971
  - $ref: '#/components/schemas/HTTPConnectorEndpointBase'
619
972
  - $ref: '#/components/schemas/ResourceResponse'
620
973
  - type: object
621
974
  properties:
622
- _userId:
623
- type: string
624
- format: objectId
625
- description: Owner user id
626
- readOnly: true
627
- x-celigo-refModel: users
628
- examples:
629
- - 55f9d6e0c1a2b3d4e5f60718
630
975
  metadata:
631
976
  type: object
632
- readOnly: true
633
977
  description: |-
634
- Endpoint metadata used by Data Intelligence tooling. Returned
635
- only by the detail (by-ID) endpoint — list responses omit it.
978
+ Endpoint metadata used by Data Intelligence tooling. Absent when
979
+ never set; Data Intelligence attributes can only be stored on a
980
+ published endpoint.
636
981
  properties:
637
982
  di:
638
983
  type: object
@@ -657,6 +1002,111 @@ components:
657
1002
  description: Data type of the field.
658
1003
  examples:
659
1004
  - string
1005
+ Error:
1006
+ type: object
1007
+ description: Standard error response envelope returned by integrator.io APIs.
1008
+ properties:
1009
+ errors:
1010
+ type: array
1011
+ description: List of errors that occurred while processing the request.
1012
+ items:
1013
+ type: object
1014
+ properties:
1015
+ code:
1016
+ oneOf:
1017
+ - type: string
1018
+ - type: integer
1019
+ description: |-
1020
+ Machine-readable error code. Usually a string like
1021
+ `invalid_ref`, `missing_required_field`, or `unauthorized`;
1022
+ may be an **integer** when the error mirrors an upstream HTTP
1023
+ status (e.g. `500`) — most commonly returned by connection-ping
1024
+ and adaptor-proxy responses.
1025
+ message:
1026
+ type: string
1027
+ description: Human-readable description of the error.
1028
+ field:
1029
+ type: string
1030
+ description: |-
1031
+ Optional pointer to the document field that caused the error.
1032
+ Used by structural validation errors (`missing_required_field`,
1033
+ `invalid_ref`) to indicate which field is at fault
1034
+ (e.g. `_id`, `type`, `http.baseURI`).
1035
+ source:
1036
+ type: string
1037
+ description: |-
1038
+ Optional origin layer for the error — e.g. `application` when
1039
+ the error came from the remote system the adaptor called,
1040
+ `connector` when the adaptor itself rejected the request.
1041
+ required:
1042
+ - message
1043
+ required:
1044
+ - errors
1045
+ Request:
1046
+ type: object
1047
+ description: |-
1048
+ Fields for creating or updating an HTTP Connector Endpoint through
1049
+ `POST /v1/httpconnectorendpoints` and `PUT /v1/httpconnectorendpoints/{_id}`.
1050
+ PUT replaces the whole document — omitted optional fields are cleared
1051
+ (`isMappingRequired` and `mergePostBodyToPagingPostBody` revert to
1052
+ `false`), except `published` and `isBlob`, which keep their stored values.
1053
+ required:
1054
+ - name
1055
+ - method
1056
+ - relativeURI
1057
+ - _httpConnectorResourceIds
1058
+ - supportedBy
1059
+ x-celigo-ai-guidance:
1060
+ - Every create needs name, method, relativeURI, at least one id in _httpConnectorResourceIds, and supportedBy.type; each missing field is reported as its own 422 missing_required_field entry. A method outside the enum fails with 422 code "enum", and an id in _httpConnectorResourceIds that is not one of your resources fails with 422 invalid_ref.
1061
+ - Setting metadata.di.isListEndpoint on an unpublished endpoint fails with 422 must_be_published; publish the endpoint (published true) in the same request or leave metadata out.
1062
+ allOf:
1063
+ - $ref: '#/components/schemas/HTTPConnectorEndpointBase'
1064
+ ListItem:
1065
+ type: object
1066
+ description: |-
1067
+ Abridged HTTP Connector Endpoint returned by the nested
1068
+ `GET /v1/httpconnectors/{_httpConnectorId}/{_httpConnectorResourceId}/httpconnectorendpoints`
1069
+ catalog listing. Includes identity, description, and timestamps only;
1070
+ fetch the full object by id for `method`, `relativeURI`, and
1071
+ `supportedBy`.
1072
+ required:
1073
+ - _id
1074
+ - name
1075
+ - createdAt
1076
+ - lastModified
1077
+ properties:
1078
+ _id:
1079
+ type: string
1080
+ format: objectId
1081
+ readOnly: true
1082
+ description: Unique identifier for the endpoint.
1083
+ x-celigo-refModel: httpconnectorendpoints
1084
+ examples:
1085
+ - 63987132784a39b73aae63e8
1086
+ name:
1087
+ type: string
1088
+ description: Human-readable name for this endpoint.
1089
+ examples:
1090
+ - List
1091
+ description:
1092
+ type: string
1093
+ description: Help text describing what the endpoint does. Absent when never set.
1094
+ examples:
1095
+ - Returns all answers for a question.
1096
+ createdAt:
1097
+ type: string
1098
+ format: date-time
1099
+ readOnly: true
1100
+ description: Timestamp when the endpoint was created.
1101
+ examples:
1102
+ - '2023-01-17T09:52:06.871Z'
1103
+ lastModified:
1104
+ type: string
1105
+ format: date-time
1106
+ readOnly: true
1107
+ description: Timestamp when the endpoint was last updated. Changes on every PUT.
1108
+ examples:
1109
+ - '2024-05-23T07:00:46.308Z'
660
1110
  responses:
661
1111
  401-unauthorized:
662
1112
  description: |-
@@ -692,6 +1142,32 @@ components:
692
1142
  summary: Bearer token invalid or revoked
693
1143
  value:
694
1144
  message: Bearer Authentication Failed
1145
+ 403-forbidden:
1146
+ description: |
1147
+ Forbidden. The authenticated caller does not have permission to perform this operation.
1148
+ content:
1149
+ application/json:
1150
+ schema:
1151
+ $ref: '#/components/schemas/Error'
1152
+ examples:
1153
+ default:
1154
+ value:
1155
+ errors:
1156
+ - code: forbidden
1157
+ message: You do not have permission to access this resource.
1158
+ 400-bad-request:
1159
+ description: |
1160
+ Bad request. The server could not understand the request because of malformed syntax or invalid parameters.
1161
+ content:
1162
+ application/json:
1163
+ schema:
1164
+ $ref: '#/components/schemas/Error'
1165
+ examples:
1166
+ default:
1167
+ value:
1168
+ errors:
1169
+ - code: invalid_request
1170
+ message: The request body failed validation.
695
1171
  404-not-found:
696
1172
  description: |
697
1173
  Not found. The requested resource does not exist or is not visible to the caller.
@@ -705,9 +1181,9 @@ components:
705
1181
  errors:
706
1182
  - code: not_found
707
1183
  message: The requested resource was not found.
708
- 403-forbidden:
1184
+ 422-unprocessable-entity:
709
1185
  description: |
710
- Forbidden. The authenticated caller does not have permission to perform this operation.
1186
+ Unprocessable entity. The request was well-formed but was unable to be followed due to semantic errors.
711
1187
  content:
712
1188
  application/json:
713
1189
  schema:
@@ -716,7 +1192,7 @@ components:
716
1192
  default:
717
1193
  value:
718
1194
  errors:
719
- - code: forbidden
720
- message: You do not have permission to access this resource.
1195
+ - code: unprocessable_entity
1196
+ message: The request could not be processed due to a semantic error.
721
1197
  x-enable-proxy: true
722
1198
  x-internal: false