@celigo/api-specs 0.2.153 → 0.2.155
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/ai-agent.yml +90 -94
- package/dist/api.yml +21 -11
- package/dist/asynchelper.yml +84 -91
- package/dist/connection.yml +78 -22
- package/dist/enduser.yml +21 -11
- package/dist/export.yml +84 -91
- package/dist/flow.yml +6 -3
- package/dist/httpconnectorendpoint.yml +16 -1
- package/dist/httpconnectorresource.yml +12 -2
- package/dist/iclient.yml +10 -124
- package/dist/import.yml +132 -99
- package/dist/mcp-server.yml +28 -17
- package/dist/tool.yml +153 -110
- package/package.json +1 -1
- package/schemas.json +329 -329
package/dist/asynchelper.yml
CHANGED
|
@@ -505,9 +505,8 @@ components:
|
|
|
505
505
|
- For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
|
|
506
506
|
- For object fields: Set to the object property name, then add child mappings in the 'mappings' array
|
|
507
507
|
- For array fields: Set to the array property name, then configure 'buildArrayHelper'
|
|
508
|
-
-
|
|
509
|
-
|
|
510
|
-
structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
508
|
+
- One structural blank: the single top-level `objectarray` item of a `rows [ ]` mapping (the
|
|
509
|
+
array output structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
511
510
|
already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
|
|
512
511
|
name changes the output; it does not complete the row
|
|
513
512
|
|
|
@@ -524,7 +523,9 @@ components:
|
|
|
524
523
|
}
|
|
525
524
|
```
|
|
526
525
|
|
|
527
|
-
When parsing existing mappings, an empty `generate`
|
|
526
|
+
When parsing existing mappings, an empty `generate` on a row inside an `arrayarray` row's
|
|
527
|
+
`buildArrayHelper` entry is that row's inner array (`arrayarray` fails at run time; see
|
|
528
|
+
`dataType`); other unnamed rows are the wrappers and source-only rows described above; an
|
|
528
529
|
empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
|
|
529
530
|
structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
|
|
530
531
|
examples:
|
|
@@ -558,17 +559,25 @@ components:
|
|
|
558
559
|
- `numberarray`: Array of numbers
|
|
559
560
|
- `booleanarray`: Array of booleans
|
|
560
561
|
- `objectarray`: Array of objects (most common array type)
|
|
561
|
-
- `arrayarray`: Array of arrays (for matrix/table structures)
|
|
562
562
|
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
563
|
+
`arrayarray` is not a type the mapper recognizes: a save accepts it, but every record
|
|
564
|
+
then fails with `Destination datatype is a required field.` Build an array of arrays
|
|
565
|
+
in a script hook instead.
|
|
566
|
+
|
|
567
|
+
Array dataTypes are populated two ways: construct or iterate through
|
|
568
|
+
`buildArrayHelper` entries, or set a constant with `hardCodedValue`. The
|
|
569
|
+
row's own `extract` is never read on an array type: a primitive-array row
|
|
570
|
+
that has only an `extract` (JSONPath, Handlebars or a literal) yields
|
|
571
|
+
nothing, with no error, and an `objectarray` row without `buildArrayHelper`
|
|
572
|
+
or `hardCodedValue` is refused with 422 ("buildArrayHelper" or
|
|
573
|
+
"hardCodedValue" must be present for object array datatype.). To copy a
|
|
574
|
+
source array through unchanged, use one entry that iterates it
|
|
575
|
+
(`buildArrayHelper: [{"extract": "$.items[*]"}]`).
|
|
567
576
|
|
|
568
577
|
IMPORTANT: The dataType controls which additional fields are relevant:
|
|
569
578
|
- For date-like string fields: extractDateFormat, generateDateFormat, etc. become relevant
|
|
570
579
|
- For object types: 'mappings' array becomes relevant
|
|
571
|
-
- For array types:
|
|
580
|
+
- For array types: `buildArrayHelper` or `hardCodedValue` (see above)
|
|
572
581
|
|
|
573
582
|
When analyzing existing mappings or generating new ones, always check dataType first
|
|
574
583
|
to understand what additional fields should be present.
|
|
@@ -587,7 +596,6 @@ components:
|
|
|
587
596
|
- numberarray
|
|
588
597
|
- booleanarray
|
|
589
598
|
- objectarray
|
|
590
|
-
- arrayarray
|
|
591
599
|
x-enumDescriptions:
|
|
592
600
|
string: Text values; converts other types to their string representation.
|
|
593
601
|
number: Numeric values; attempts conversion from strings.
|
|
@@ -597,7 +605,6 @@ components:
|
|
|
597
605
|
numberarray: Array of numeric values.
|
|
598
606
|
booleanarray: Array of boolean values.
|
|
599
607
|
objectarray: Array of objects, the most common array type.
|
|
600
|
-
arrayarray: Array of arrays, used for matrix or table structures.
|
|
601
608
|
examples:
|
|
602
609
|
- string
|
|
603
610
|
- number
|
|
@@ -640,9 +647,10 @@ components:
|
|
|
640
647
|
- Valid on scalars and on `object` rows, where the rendered output must
|
|
641
648
|
parse into an object. On an array row the template goes in a
|
|
642
649
|
`buildArrayHelper` entry instead: on an `objectarray` row's own
|
|
643
|
-
`extract` it is refused with 422 ("buildArrayHelper"
|
|
644
|
-
for object array datatype), and on a primitive-array
|
|
645
|
-
`extract` it
|
|
650
|
+
`extract` it is refused with 422 ("buildArrayHelper" or "hardCodedValue"
|
|
651
|
+
must be present for object array datatype.), and on a primitive-array
|
|
652
|
+
row's own `extract` it yields nothing (the field is left out) without an
|
|
653
|
+
error
|
|
646
654
|
|
|
647
655
|
```json
|
|
648
656
|
"extract": "{{record.price}} {{record.currency}}" // Combines two fields
|
|
@@ -784,8 +792,10 @@ components:
|
|
|
784
792
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
785
793
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
786
794
|
action). Omitting the key entirely means no fallback — the field is left out of the
|
|
787
|
-
output when the extract is empty (the UI's "Do nothing" action)
|
|
788
|
-
|
|
795
|
+
output when the extract is missing or an empty string (the UI's "Do nothing" action),
|
|
796
|
+
while a null source is still written as null unless `conditional.when` is
|
|
797
|
+
`extract_not_empty`. Failing the record instead is `conditional.when:
|
|
798
|
+
fail_record_when_empty`, which excludes a default.
|
|
789
799
|
x-celigo-ai-guidance:
|
|
790
800
|
- |-
|
|
791
801
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
@@ -793,11 +803,14 @@ components:
|
|
|
793
803
|
empty string renders it as `""` when the extract yields nothing.
|
|
794
804
|
Preserve them verbatim when editing or migrating a mapping — dropping
|
|
795
805
|
the key changes runtime behavior from "use null/empty string as
|
|
796
|
-
default value" to "do nothing" (
|
|
806
|
+
default value" to "do nothing" (a missing or `""` source is left out
|
|
807
|
+
of the output, while a null source is written as null unless
|
|
808
|
+
`conditional.when` is `extract_not_empty`).
|
|
797
809
|
- |-
|
|
798
810
|
The four "Action to take if source field has no value" choices map to:
|
|
799
|
-
do nothing → no `default` key (
|
|
800
|
-
extract_not_empty`
|
|
811
|
+
do nothing → no `default` key (add `conditional.when:
|
|
812
|
+
extract_not_empty` to leave a null source out too; without it a null
|
|
813
|
+
source is written as null); use null → `"default": null`; use empty string or
|
|
801
814
|
a custom value → `"default": "<value>"`; cause the record to fail →
|
|
802
815
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
803
816
|
examples:
|
|
@@ -1012,8 +1025,7 @@ components:
|
|
|
1012
1025
|
|
|
1013
1026
|
**When to Use**
|
|
1014
1027
|
- REQUIRED when dataType ends with "array" (stringarray, objectarray, etc.), unless the
|
|
1015
|
-
row
|
|
1016
|
-
`hardCodedValue`
|
|
1028
|
+
row sets `hardCodedValue`: an array row's own `extract` is never read (see `dataType`)
|
|
1017
1029
|
- Each entry in this array contributes elements to the output array
|
|
1018
1030
|
- Multiple entries allow combining data from different input arrays
|
|
1019
1031
|
|
|
@@ -1097,28 +1109,10 @@ components:
|
|
|
1097
1109
|
}
|
|
1098
1110
|
```
|
|
1099
1111
|
|
|
1100
|
-
**
|
|
1101
|
-
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
{
|
|
1105
|
-
"generate": "matrix",
|
|
1106
|
-
"dataType": "arrayarray",
|
|
1107
|
-
"buildArrayHelper": [
|
|
1108
|
-
{
|
|
1109
|
-
"extract": "$.rows[*]", // For each row in the rows array
|
|
1110
|
-
"mappings": [
|
|
1111
|
-
{
|
|
1112
|
-
"dataType": "numberarray", // Note: No generate field for inner arrays
|
|
1113
|
-
"buildArrayHelper": [
|
|
1114
|
-
{"extract": "$.rows.columns[*]"} // Notice: "rows" is singular in the composite object
|
|
1115
|
-
]
|
|
1116
|
-
}
|
|
1117
|
-
]
|
|
1118
|
-
}
|
|
1119
|
-
]
|
|
1120
|
-
}
|
|
1121
|
-
```
|
|
1112
|
+
**Arrays of Arrays**
|
|
1113
|
+
- The mapper has no working type for them: `arrayarray` saves, but every record
|
|
1114
|
+
fails with `Destination datatype is a required field.` Build an array of arrays
|
|
1115
|
+
in a script hook instead.
|
|
1122
1116
|
|
|
1123
1117
|
**Important details**
|
|
1124
1118
|
|
|
@@ -1536,8 +1530,8 @@ components:
|
|
|
1536
1530
|
nature is essential for building effective mappings:
|
|
1537
1531
|
|
|
1538
1532
|
1. The schema is self-referential by design - a mapping can contain nested mappings of the same structure
|
|
1539
|
-
2. Complex data structures (nested objects
|
|
1540
|
-
handled through this recursive pattern
|
|
1533
|
+
2. Complex data structures (nested objects and arrays of objects, to any depth) are ALL
|
|
1534
|
+
handled through this recursive pattern; an array of arrays is not (build one in a script hook)
|
|
1541
1535
|
3. Each mapping handles one level of the data structure; deeper levels are handled by nested mappings
|
|
1542
1536
|
|
|
1543
1537
|
When generating mappings programmatically:
|
|
@@ -1591,9 +1585,8 @@ components:
|
|
|
1591
1585
|
- For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
|
|
1592
1586
|
- For object fields: Set to the object property name, then add child mappings in the 'mappings' array
|
|
1593
1587
|
- For array fields: Set to the array property name, then configure 'buildArrayHelper'
|
|
1594
|
-
-
|
|
1595
|
-
|
|
1596
|
-
structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
1588
|
+
- One structural blank: the single top-level `objectarray` item of a `rows [ ]` mapping (the
|
|
1589
|
+
array output structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
1597
1590
|
already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
|
|
1598
1591
|
name changes the output; it does not complete the row
|
|
1599
1592
|
|
|
@@ -1610,7 +1603,9 @@ components:
|
|
|
1610
1603
|
}
|
|
1611
1604
|
```
|
|
1612
1605
|
|
|
1613
|
-
When parsing existing mappings, an empty `generate`
|
|
1606
|
+
When parsing existing mappings, an empty `generate` on a row inside an `arrayarray` row's
|
|
1607
|
+
`buildArrayHelper` entry is that row's inner array (`arrayarray` fails at run time; see
|
|
1608
|
+
`dataType`); other unnamed rows are the wrappers and source-only rows described above; an
|
|
1614
1609
|
empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
|
|
1615
1610
|
structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
|
|
1616
1611
|
examples:
|
|
@@ -1644,17 +1639,25 @@ components:
|
|
|
1644
1639
|
- `numberarray`: Array of numbers
|
|
1645
1640
|
- `booleanarray`: Array of booleans
|
|
1646
1641
|
- `objectarray`: Array of objects (most common array type)
|
|
1647
|
-
- `arrayarray`: Array of arrays (for matrix/table structures)
|
|
1648
1642
|
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1643
|
+
`arrayarray` is not a type the mapper recognizes: a save accepts it, but every record
|
|
1644
|
+
then fails with `Destination datatype is a required field.` Build an array of arrays
|
|
1645
|
+
in a script hook instead.
|
|
1646
|
+
|
|
1647
|
+
Array dataTypes are populated two ways: construct or iterate through
|
|
1648
|
+
`buildArrayHelper` entries, or set a constant with `hardCodedValue`. The
|
|
1649
|
+
row's own `extract` is never read on an array type: a primitive-array row
|
|
1650
|
+
that has only an `extract` (JSONPath, Handlebars or a literal) yields
|
|
1651
|
+
nothing, with no error, and an `objectarray` row without `buildArrayHelper`
|
|
1652
|
+
or `hardCodedValue` is refused with 422 ("buildArrayHelper" or
|
|
1653
|
+
"hardCodedValue" must be present for object array datatype.). To copy a
|
|
1654
|
+
source array through unchanged, use one entry that iterates it
|
|
1655
|
+
(`buildArrayHelper: [{"extract": "$.items[*]"}]`).
|
|
1653
1656
|
|
|
1654
1657
|
IMPORTANT: The dataType controls which additional fields are relevant:
|
|
1655
1658
|
- For date-like string fields: extractDateFormat, generateDateFormat, etc. become relevant
|
|
1656
1659
|
- For object types: 'mappings' array becomes relevant
|
|
1657
|
-
- For array types:
|
|
1660
|
+
- For array types: `buildArrayHelper` or `hardCodedValue` (see above)
|
|
1658
1661
|
|
|
1659
1662
|
When analyzing existing mappings or generating new ones, always check dataType first
|
|
1660
1663
|
to understand what additional fields should be present.
|
|
@@ -1673,7 +1676,6 @@ components:
|
|
|
1673
1676
|
- numberarray
|
|
1674
1677
|
- booleanarray
|
|
1675
1678
|
- objectarray
|
|
1676
|
-
- arrayarray
|
|
1677
1679
|
x-enumDescriptions:
|
|
1678
1680
|
string: Text values; converts other types to their string representation.
|
|
1679
1681
|
number: Numeric values; attempts conversion from strings.
|
|
@@ -1683,7 +1685,6 @@ components:
|
|
|
1683
1685
|
numberarray: Array of numeric values.
|
|
1684
1686
|
booleanarray: Array of boolean values.
|
|
1685
1687
|
objectarray: Array of objects, the most common array type.
|
|
1686
|
-
arrayarray: Array of arrays, used for matrix or table structures.
|
|
1687
1688
|
examples:
|
|
1688
1689
|
- string
|
|
1689
1690
|
- number
|
|
@@ -1726,9 +1727,10 @@ components:
|
|
|
1726
1727
|
- Valid on scalars and on `object` rows, where the rendered output must
|
|
1727
1728
|
parse into an object. On an array row the template goes in a
|
|
1728
1729
|
`buildArrayHelper` entry instead: on an `objectarray` row's own
|
|
1729
|
-
`extract` it is refused with 422 ("buildArrayHelper"
|
|
1730
|
-
for object array datatype), and on a primitive-array
|
|
1731
|
-
`extract` it
|
|
1730
|
+
`extract` it is refused with 422 ("buildArrayHelper" or "hardCodedValue"
|
|
1731
|
+
must be present for object array datatype.), and on a primitive-array
|
|
1732
|
+
row's own `extract` it yields nothing (the field is left out) without an
|
|
1733
|
+
error
|
|
1732
1734
|
|
|
1733
1735
|
```json
|
|
1734
1736
|
"extract": "{{record.price}} {{record.currency}}" // Combines two fields
|
|
@@ -1870,8 +1872,10 @@ components:
|
|
|
1870
1872
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
1871
1873
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
1872
1874
|
action). Omitting the key entirely means no fallback — the field is left out of the
|
|
1873
|
-
output when the extract is empty (the UI's "Do nothing" action)
|
|
1874
|
-
|
|
1875
|
+
output when the extract is missing or an empty string (the UI's "Do nothing" action),
|
|
1876
|
+
while a null source is still written as null unless `conditional.when` is
|
|
1877
|
+
`extract_not_empty`. Failing the record instead is `conditional.when:
|
|
1878
|
+
fail_record_when_empty`, which excludes a default.
|
|
1875
1879
|
x-celigo-ai-guidance:
|
|
1876
1880
|
- |-
|
|
1877
1881
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
@@ -1879,11 +1883,14 @@ components:
|
|
|
1879
1883
|
empty string renders it as `""` when the extract yields nothing.
|
|
1880
1884
|
Preserve them verbatim when editing or migrating a mapping — dropping
|
|
1881
1885
|
the key changes runtime behavior from "use null/empty string as
|
|
1882
|
-
default value" to "do nothing" (
|
|
1886
|
+
default value" to "do nothing" (a missing or `""` source is left out
|
|
1887
|
+
of the output, while a null source is written as null unless
|
|
1888
|
+
`conditional.when` is `extract_not_empty`).
|
|
1883
1889
|
- |-
|
|
1884
1890
|
The four "Action to take if source field has no value" choices map to:
|
|
1885
|
-
do nothing → no `default` key (
|
|
1886
|
-
extract_not_empty`
|
|
1891
|
+
do nothing → no `default` key (add `conditional.when:
|
|
1892
|
+
extract_not_empty` to leave a null source out too; without it a null
|
|
1893
|
+
source is written as null); use null → `"default": null`; use empty string or
|
|
1887
1894
|
a custom value → `"default": "<value>"`; cause the record to fail →
|
|
1888
1895
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
1889
1896
|
examples:
|
|
@@ -2098,8 +2105,7 @@ components:
|
|
|
2098
2105
|
|
|
2099
2106
|
**When to Use**
|
|
2100
2107
|
- REQUIRED when dataType ends with "array" (stringarray, objectarray, etc.), unless the
|
|
2101
|
-
row
|
|
2102
|
-
`hardCodedValue`
|
|
2108
|
+
row sets `hardCodedValue`: an array row's own `extract` is never read (see `dataType`)
|
|
2103
2109
|
- Each entry in this array contributes elements to the output array
|
|
2104
2110
|
- Multiple entries allow combining data from different input arrays
|
|
2105
2111
|
|
|
@@ -2183,28 +2189,10 @@ components:
|
|
|
2183
2189
|
}
|
|
2184
2190
|
```
|
|
2185
2191
|
|
|
2186
|
-
**
|
|
2187
|
-
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
{
|
|
2191
|
-
"generate": "matrix",
|
|
2192
|
-
"dataType": "arrayarray",
|
|
2193
|
-
"buildArrayHelper": [
|
|
2194
|
-
{
|
|
2195
|
-
"extract": "$.rows[*]", // For each row in the rows array
|
|
2196
|
-
"mappings": [
|
|
2197
|
-
{
|
|
2198
|
-
"dataType": "numberarray", // Note: No generate field for inner arrays
|
|
2199
|
-
"buildArrayHelper": [
|
|
2200
|
-
{"extract": "$.rows.columns[*]"} // Notice: "rows" is singular in the composite object
|
|
2201
|
-
]
|
|
2202
|
-
}
|
|
2203
|
-
]
|
|
2204
|
-
}
|
|
2205
|
-
]
|
|
2206
|
-
}
|
|
2207
|
-
```
|
|
2192
|
+
**Arrays of Arrays**
|
|
2193
|
+
- The mapper has no working type for them: `arrayarray` saves, but every record
|
|
2194
|
+
fails with `Destination datatype is a required field.` Build an array of arrays
|
|
2195
|
+
in a script hook instead.
|
|
2208
2196
|
|
|
2209
2197
|
**Important details**
|
|
2210
2198
|
|
|
@@ -2848,7 +2836,7 @@ components:
|
|
|
2848
2836
|
- Unmapped Value
|
|
2849
2837
|
- '{Original Value}'
|
|
2850
2838
|
x-celigo-ai-guidance:
|
|
2851
|
-
- 'Omit this field entirely when no fallback value is intended
|
|
2839
|
+
- 'Omit this field entirely when no fallback value is intended: a miss the lookup lets through then leaves the mapped field out, and with `allowFailures: false` a miss fails the record whatever the default. An empty string is a value, not "no default" — the save accepts `default: ""`, and an allowed miss writes `""`.'
|
|
2852
2840
|
allowFailures:
|
|
2853
2841
|
type:
|
|
2854
2842
|
- boolean
|
|
@@ -3007,6 +2995,11 @@ components:
|
|
|
3007
2995
|
dropped fields. Either map every field downstream logic
|
|
3008
2996
|
needs forward, or author Transform 2.0 with
|
|
3009
2997
|
``mode: "modify"`` instead.
|
|
2998
|
+
- |-
|
|
2999
|
+
An import's ``responseTransform`` is the exception: it accepts
|
|
3000
|
+
version ``"1"`` only (``"2"`` is refused with 422, verified live
|
|
3001
|
+
2026-10-21), so there, map every response field that response
|
|
3002
|
+
mapping needs.
|
|
3010
3003
|
items:
|
|
3011
3004
|
type: array
|
|
3012
3005
|
items:
|
package/dist/connection.yml
CHANGED
|
@@ -841,6 +841,11 @@ paths:
|
|
|
841
841
|
`ftp.concurrencyLevel` and `ftp.targetConcurrencyLevel` (the latter is unset whenever
|
|
842
842
|
`autoRecoverRateLimitErrors` is false). `connectionRole` is read-only here: a body carrying
|
|
843
843
|
`mcpChild` is rejected.
|
|
844
|
+
|
|
845
|
+
An OAuth connection's `http.auth.oauth.authURI` and `tokenURI` can't change: a body that
|
|
846
|
+
changes either is rejected with 422 "Updating the value in tokenURI is not allowed for oauth
|
|
847
|
+
connections due to security reasons. Please contact celigo support." (and the same for
|
|
848
|
+
`authURI`), and nothing is saved. To move to new OAuth URLs, create a new connection.
|
|
844
849
|
operationId: updateConnection
|
|
845
850
|
tags:
|
|
846
851
|
- Connections
|
|
@@ -1028,7 +1033,8 @@ paths:
|
|
|
1028
1033
|
borrowed-from connection must exist in the account and may not itself borrow
|
|
1029
1034
|
(422 `connection_borrows_from_another`), and a connection that others borrow
|
|
1030
1035
|
from cannot start borrowing (422 `connection_borrowed_by_another`). A
|
|
1031
|
-
connection
|
|
1036
|
+
connection can't borrow from itself: naming its own id is rejected with 422 ("… a
|
|
1037
|
+
connection cannot borrow concurrency from itself."), here and on `PUT`.
|
|
1032
1038
|
Settings-only changes are recorded in the connection's audit log.
|
|
1033
1039
|
operationId: patchConnection
|
|
1034
1040
|
tags:
|
|
@@ -1134,6 +1140,15 @@ paths:
|
|
|
1134
1140
|
Deletes a connection. The connection is soft-deleted and retained in the
|
|
1135
1141
|
recycle bin for 30 days before permanent removal. Use
|
|
1136
1142
|
`POST /v1/recycleBinTTL/connections/{_id}` to restore it during that window.
|
|
1143
|
+
|
|
1144
|
+
Rejected with 422 while anything still uses the connection; the message names each
|
|
1145
|
+
blocker — every export or import on it, the flows they are steps of, and any connection
|
|
1146
|
+
whose `_borrowConcurrencyFromConnectionId` points at it (clearing that field is enough).
|
|
1147
|
+
Registration on an integration does not block the delete, and neither do exports, imports
|
|
1148
|
+
or flows already in the recycle bin; but purging the connection early
|
|
1149
|
+
(`DELETE /v1/recycleBinTTL/connections/{_id}`) is rejected with 422 "this document is
|
|
1150
|
+
referenced by Export : …" while a binned export or import still points at it, so purge the
|
|
1151
|
+
flows, then the exports and imports, then the connection.
|
|
1137
1152
|
operationId: deleteConnection
|
|
1138
1153
|
tags:
|
|
1139
1154
|
- Connections
|
|
@@ -1161,7 +1176,7 @@ paths:
|
|
|
1161
1176
|
- |-
|
|
1162
1177
|
Soft-deletes the connection into the recycle bin (restorable for 30 days). Check
|
|
1163
1178
|
`GET /v1/connections/{_id}/dependencies` first — a connection still referenced by flows,
|
|
1164
|
-
exports, or
|
|
1179
|
+
exports, imports, or a borrowing connection is rejected with 422.
|
|
1165
1180
|
/v1/connections/{_id}/ping:
|
|
1166
1181
|
get:
|
|
1167
1182
|
x-internal: false
|
|
@@ -1170,7 +1185,8 @@ paths:
|
|
|
1170
1185
|
GET variant of the saved-connection ping — identical behavior to
|
|
1171
1186
|
`POST /v1/connections/{_id}/ping`, with no request body to send. Runs the adaptor's ping
|
|
1172
1187
|
routine against the connection identified by `_id` to verify its credentials and network
|
|
1173
|
-
configuration still work; no data is read, written, or modified.
|
|
1188
|
+
configuration still work; no data is read, written, or modified. An `http` connection with
|
|
1189
|
+
no `http.ping` answers `{code: 200}` without sending any request.
|
|
1174
1190
|
|
|
1175
1191
|
Inspect the response body, not the HTTP status, to determine the outcome: success and
|
|
1176
1192
|
adaptor-level failures both return HTTP 200 — success is `{code: 200}`, failures are
|
|
@@ -1243,16 +1259,20 @@ paths:
|
|
|
1243
1259
|
Behaves identically to POST /v1/connections/{_id}/ping and takes no request body — use
|
|
1244
1260
|
whichever verb the client supports. Both verbs return HTTP 200 with {code: 200} on
|
|
1245
1261
|
success and HTTP 200 with {errors: [...]} on adaptor-level failure, so inspect the body,
|
|
1246
|
-
not the status code.
|
|
1262
|
+
not the status code. On an `http` connection, {code: 200} shows reachability only once
|
|
1263
|
+
`http.ping` is set: with no ping configured, nothing is sent and the answer is always
|
|
1264
|
+
{code: 200}.
|
|
1247
1265
|
post:
|
|
1248
1266
|
x-internal: false
|
|
1249
1267
|
summary: Ping an existing connection
|
|
1250
1268
|
description: |-
|
|
1251
1269
|
Runs the adaptor's ping routine against a saved connection to verify its credentials and
|
|
1252
1270
|
network configuration still work; no data is read, written, or modified. The check is
|
|
1253
|
-
adaptor-specific (HTTP
|
|
1254
|
-
|
|
1255
|
-
|
|
1271
|
+
adaptor-specific (HTTP sends the `http.ping` request, RDBMS/JDBC open a driver session,
|
|
1272
|
+
MCP issues a tools/list, NetSuite/Salesforce do a token or session validation). An `http`
|
|
1273
|
+
connection with no `http.ping` passes with `{code: 200}` without sending any request, so
|
|
1274
|
+
the ping proves nothing about it until a ping is configured. The request body is optional
|
|
1275
|
+
and ignored.
|
|
1256
1276
|
|
|
1257
1277
|
Inspect the response body, not the HTTP status, to determine the outcome: success and
|
|
1258
1278
|
adaptor-level failures both return HTTP 200 — success is `{code: 200}`, failures are
|
|
@@ -1362,6 +1382,10 @@ paths:
|
|
|
1362
1382
|
- Test network connectivity
|
|
1363
1383
|
- Verify permissions for basic operations
|
|
1364
1384
|
- Return connection status and any error details
|
|
1385
|
+
|
|
1386
|
+
Exception: an `http` connection with no `http.ping` answers {code: 200} without sending
|
|
1387
|
+
any request, so it proves nothing until a ping (ideally one that needs the connection's
|
|
1388
|
+
credentials) is configured.
|
|
1365
1389
|
/v1/connections/{_id}/proxy:
|
|
1366
1390
|
post:
|
|
1367
1391
|
x-internal: false
|
|
@@ -2452,6 +2476,9 @@ paths:
|
|
|
2452
2476
|
The response is a plain-text stream (not JSON): each entry is a header line
|
|
2453
2477
|
(`timestamp traceKey resourceType resourceId`) followed by a single-line JSON payload,
|
|
2454
2478
|
entries separated by blank lines; paired request/response entries share a `traceKey`.
|
|
2479
|
+
A response payload carries only `headers` and `body` — no HTTP status code, so judge a
|
|
2480
|
+
failure by the body and by headers such as `Retry-After`. Connection tests are logged too:
|
|
2481
|
+
resource type `ping` with an empty `resourceId`, and `isPing: true` in the request payload.
|
|
2455
2482
|
Logs are shared across every flow using the connection (filter by `resourceId` client-side),
|
|
2456
2483
|
and sensitive header values are redacted (`"Authorization": "********"`). For execution logs
|
|
2457
2484
|
tied to a specific run, use `GET /v1/flows/{_id}/jobs/{_jobId}/logs` instead.
|
|
@@ -2916,6 +2943,13 @@ paths:
|
|
|
2916
2943
|
`/v1/connections/{_id}/oauth2` is an alias that answers identically. The URL's
|
|
2917
2944
|
`state` token is one-time and expires quickly, so request a fresh one if the flow is
|
|
2918
2945
|
interrupted, then poll `GET /v1/connections/{_id}` until `needsAuthorization` is `false`.
|
|
2946
|
+
|
|
2947
|
+
The URL's `redirect_uri` is the account's Celigo callback
|
|
2948
|
+
(`https://integrator.io/connection/oauth2callback` on North America), which the provider's
|
|
2949
|
+
app registration must list. On an `http` connection the client comes from the iClient in
|
|
2950
|
+
`http._iClientId`: with no iClient the request is rejected with 422 `unknown http authURI`,
|
|
2951
|
+
and an iClient whose `oauth2.validDomainNames` lacks the authorization URL's registrable
|
|
2952
|
+
domain is rejected as well (see the 422 examples).
|
|
2919
2953
|
parameters:
|
|
2920
2954
|
- name: _id
|
|
2921
2955
|
in: path
|
|
@@ -2959,9 +2993,11 @@ paths:
|
|
|
2959
2993
|
$ref: '#/components/responses/404-not-found'
|
|
2960
2994
|
'422':
|
|
2961
2995
|
description: |-
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2996
|
+
The handshake pre-check failed: the connection has no `authURI` in its config (an FTP,
|
|
2997
|
+
S3, plain-auth or client-credentials HTTP connection — nothing to authorize in a
|
|
2998
|
+
browser); an `http` connection has no iClient (`unknown http authURI: "<registrable
|
|
2999
|
+
domain>"`); or its iClient's `oauth2.validDomainNames` doesn't list the authorization
|
|
3000
|
+
URL's registrable domain.
|
|
2965
3001
|
content:
|
|
2966
3002
|
application/json:
|
|
2967
3003
|
schema:
|
|
@@ -2974,6 +3010,16 @@ paths:
|
|
|
2974
3010
|
- code: missing_required_field
|
|
2975
3011
|
message: 'Expected field: authURI in the Connection to be present.'
|
|
2976
3012
|
source: connector
|
|
3013
|
+
noIClient:
|
|
3014
|
+
summary: HTTP connection with no iClient
|
|
3015
|
+
value:
|
|
3016
|
+
errors:
|
|
3017
|
+
- message: 'unknown http authURI: "example.com"'
|
|
3018
|
+
domainNotListed:
|
|
3019
|
+
summary: The iClient's validDomainNames lacks the authorization URL's domain
|
|
3020
|
+
value:
|
|
3021
|
+
errors:
|
|
3022
|
+
- message: The domain of request url should be present in iClient.oauth2.validDomainNames
|
|
2977
3023
|
/v1/connections/{_id}/dependencies:
|
|
2978
3024
|
get:
|
|
2979
3025
|
x-internal: false
|
|
@@ -4088,7 +4134,7 @@ components:
|
|
|
4088
4134
|
connection's traffic counts against the referenced connection's limit instead of its own,
|
|
4089
4135
|
and its own concurrency and auto-recovery settings have no effect. One level only: the
|
|
4090
4136
|
referenced connection may not itself borrow, and a connection that others borrow from
|
|
4091
|
-
cannot start borrowing.
|
|
4137
|
+
cannot start borrowing. A connection cannot reference itself (422).
|
|
4092
4138
|
examples:
|
|
4093
4139
|
- 615dfa0742763671275b70ab
|
|
4094
4140
|
x-celigo-ai-guidance:
|
|
@@ -4125,16 +4171,21 @@ components:
|
|
|
4125
4171
|
type: boolean
|
|
4126
4172
|
description: |-
|
|
4127
4173
|
When true, the connection has been taken offline and is skipped during flow execution.
|
|
4128
|
-
|
|
4129
|
-
|
|
4130
|
-
read it again a few
|
|
4174
|
+
It is set by the connection test a create or `PUT` runs: the result arrives in the
|
|
4175
|
+
write's response or, when the target is slow to answer, shortly afterwards (the audit
|
|
4176
|
+
log records a `system` change; `lastModified` doesn't move), so read it again a few
|
|
4177
|
+
seconds after the write. On an `http` connection the write runs the test only when
|
|
4178
|
+
`http.ping` is configured, and an `http` connection that was never tested has no
|
|
4179
|
+
`offline` key.
|
|
4131
4180
|
readOnly: true
|
|
4132
4181
|
needsAuthorization:
|
|
4133
4182
|
type: boolean
|
|
4134
4183
|
readOnly: true
|
|
4135
4184
|
description: |-
|
|
4136
4185
|
OAuth handshake state. Celigo's OAuth callback sets it to `false` once the user consents
|
|
4137
|
-
and the tokens are stored (see `GET /v1/connection/{_id}/oauth2`).
|
|
4186
|
+
and the tokens are stored (see `GET /v1/connection/{_id}/oauth2`). A connection that
|
|
4187
|
+
was never authorized usually has no `needsAuthorization` key, so its absence does not
|
|
4188
|
+
mean the connection is authorized.
|
|
4138
4189
|
_sourceId:
|
|
4139
4190
|
type: string
|
|
4140
4191
|
format: objectId
|
|
@@ -5109,15 +5160,18 @@ components:
|
|
|
5109
5160
|
clientId:
|
|
5110
5161
|
type: string
|
|
5111
5162
|
description: |
|
|
5112
|
-
OAuth client ID (application ID) registered with the API provider.
|
|
5113
|
-
|
|
5163
|
+
OAuth client ID (application ID) registered with the API provider. An `http`
|
|
5164
|
+
connection takes the app from a `custom_oauth2` iClient referenced by `http._iClientId`
|
|
5165
|
+
(an `mcp` connection from `mcp.http._iClientId`) and doesn't store this field: a create
|
|
5166
|
+
that sends `clientId` and `clientSecret` here answers 201 without either (and stores
|
|
5167
|
+
`useIClientFields: true` unless `false` is sent).
|
|
5114
5168
|
examples:
|
|
5115
5169
|
- 0oa1b2c3d4EXAMPLE5
|
|
5116
5170
|
clientSecret:
|
|
5117
5171
|
type: string
|
|
5118
5172
|
description: |
|
|
5119
|
-
OAuth client secret (encrypted at rest).
|
|
5120
|
-
|
|
5173
|
+
OAuth client secret (encrypted at rest). Not stored on an `http` connection: the secret
|
|
5174
|
+
belongs on the iClient (see `clientId`).
|
|
5121
5175
|
writeOnly: true
|
|
5122
5176
|
examples:
|
|
5123
5177
|
- cs_abc123EXAMPLE456secret
|
|
@@ -5333,9 +5387,11 @@ components:
|
|
|
5333
5387
|
- "authorizecode" — Authorization Code flow (browser-based user consent).
|
|
5334
5388
|
Requires authURI, tokenURI, and user authorization via browser.
|
|
5335
5389
|
- "clientcredentials" — Client Credentials flow (server-to-server, no user).
|
|
5336
|
-
Requires tokenURI
|
|
5390
|
+
Requires tokenURI.
|
|
5337
5391
|
- "password" — Resource Owner Password flow (username/password exchange).
|
|
5338
|
-
Requires tokenURI, username, password
|
|
5392
|
+
Requires tokenURI, username, password.
|
|
5393
|
+
- On an `http` connection the client ID and secret are never stored here: a
|
|
5394
|
+
`custom_oauth2` iClient referenced by `http._iClientId` supplies them.
|
|
5339
5395
|
JWT:
|
|
5340
5396
|
type: object
|
|
5341
5397
|
description: |-
|
|
@@ -9560,7 +9616,7 @@ components:
|
|
|
9560
9616
|
connection's traffic counts against the referenced connection's limit instead of its own,
|
|
9561
9617
|
and its own concurrency and auto-recovery settings have no effect. One level only: the
|
|
9562
9618
|
referenced connection may not itself borrow, and a connection that others borrow from
|
|
9563
|
-
cannot start borrowing.
|
|
9619
|
+
cannot start borrowing. A connection cannot reference itself (422).
|
|
9564
9620
|
examples:
|
|
9565
9621
|
- 615dfa0742763671275b70ab
|
|
9566
9622
|
x-celigo-ai-guidance:
|