@celigo/api-specs 0.2.154 → 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/asynchelper.yml +84 -91
- 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/import.yml +132 -99
- package/dist/mcp-server.yml +7 -6
- package/dist/tool.yml +132 -99
- package/package.json +1 -1
- package/schemas.json +329 -329
package/dist/tool.yml
CHANGED
|
@@ -3524,9 +3524,8 @@ components:
|
|
|
3524
3524
|
- For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
|
|
3525
3525
|
- For object fields: Set to the object property name, then add child mappings in the 'mappings' array
|
|
3526
3526
|
- For array fields: Set to the array property name, then configure 'buildArrayHelper'
|
|
3527
|
-
-
|
|
3528
|
-
|
|
3529
|
-
structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
3527
|
+
- One structural blank: the single top-level `objectarray` item of a `rows [ ]` mapping (the
|
|
3528
|
+
array output structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
3530
3529
|
already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
|
|
3531
3530
|
name changes the output; it does not complete the row
|
|
3532
3531
|
|
|
@@ -3543,7 +3542,9 @@ components:
|
|
|
3543
3542
|
}
|
|
3544
3543
|
```
|
|
3545
3544
|
|
|
3546
|
-
When parsing existing mappings, an empty `generate`
|
|
3545
|
+
When parsing existing mappings, an empty `generate` on a row inside an `arrayarray` row's
|
|
3546
|
+
`buildArrayHelper` entry is that row's inner array (`arrayarray` fails at run time; see
|
|
3547
|
+
`dataType`); other unnamed rows are the wrappers and source-only rows described above; an
|
|
3547
3548
|
empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
|
|
3548
3549
|
structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
|
|
3549
3550
|
examples:
|
|
@@ -3577,17 +3578,25 @@ components:
|
|
|
3577
3578
|
- `numberarray`: Array of numbers
|
|
3578
3579
|
- `booleanarray`: Array of booleans
|
|
3579
3580
|
- `objectarray`: Array of objects (most common array type)
|
|
3580
|
-
- `arrayarray`: Array of arrays (for matrix/table structures)
|
|
3581
3581
|
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
|
|
3582
|
+
`arrayarray` is not a type the mapper recognizes: a save accepts it, but every record
|
|
3583
|
+
then fails with `Destination datatype is a required field.` Build an array of arrays
|
|
3584
|
+
in a script hook instead.
|
|
3585
|
+
|
|
3586
|
+
Array dataTypes are populated two ways: construct or iterate through
|
|
3587
|
+
`buildArrayHelper` entries, or set a constant with `hardCodedValue`. The
|
|
3588
|
+
row's own `extract` is never read on an array type: a primitive-array row
|
|
3589
|
+
that has only an `extract` (JSONPath, Handlebars or a literal) yields
|
|
3590
|
+
nothing, with no error, and an `objectarray` row without `buildArrayHelper`
|
|
3591
|
+
or `hardCodedValue` is refused with 422 ("buildArrayHelper" or
|
|
3592
|
+
"hardCodedValue" must be present for object array datatype.). To copy a
|
|
3593
|
+
source array through unchanged, use one entry that iterates it
|
|
3594
|
+
(`buildArrayHelper: [{"extract": "$.items[*]"}]`).
|
|
3586
3595
|
|
|
3587
3596
|
IMPORTANT: The dataType controls which additional fields are relevant:
|
|
3588
3597
|
- For date-like string fields: extractDateFormat, generateDateFormat, etc. become relevant
|
|
3589
3598
|
- For object types: 'mappings' array becomes relevant
|
|
3590
|
-
- For array types:
|
|
3599
|
+
- For array types: `buildArrayHelper` or `hardCodedValue` (see above)
|
|
3591
3600
|
|
|
3592
3601
|
When analyzing existing mappings or generating new ones, always check dataType first
|
|
3593
3602
|
to understand what additional fields should be present.
|
|
@@ -3606,7 +3615,6 @@ components:
|
|
|
3606
3615
|
- numberarray
|
|
3607
3616
|
- booleanarray
|
|
3608
3617
|
- objectarray
|
|
3609
|
-
- arrayarray
|
|
3610
3618
|
x-enumDescriptions:
|
|
3611
3619
|
string: Text values; converts other types to their string representation.
|
|
3612
3620
|
number: Numeric values; attempts conversion from strings.
|
|
@@ -3616,7 +3624,6 @@ components:
|
|
|
3616
3624
|
numberarray: Array of numeric values.
|
|
3617
3625
|
booleanarray: Array of boolean values.
|
|
3618
3626
|
objectarray: Array of objects, the most common array type.
|
|
3619
|
-
arrayarray: Array of arrays, used for matrix or table structures.
|
|
3620
3627
|
examples:
|
|
3621
3628
|
- string
|
|
3622
3629
|
- number
|
|
@@ -3659,9 +3666,10 @@ components:
|
|
|
3659
3666
|
- Valid on scalars and on `object` rows, where the rendered output must
|
|
3660
3667
|
parse into an object. On an array row the template goes in a
|
|
3661
3668
|
`buildArrayHelper` entry instead: on an `objectarray` row's own
|
|
3662
|
-
`extract` it is refused with 422 ("buildArrayHelper"
|
|
3663
|
-
for object array datatype), and on a primitive-array
|
|
3664
|
-
`extract` it
|
|
3669
|
+
`extract` it is refused with 422 ("buildArrayHelper" or "hardCodedValue"
|
|
3670
|
+
must be present for object array datatype.), and on a primitive-array
|
|
3671
|
+
row's own `extract` it yields nothing (the field is left out) without an
|
|
3672
|
+
error
|
|
3665
3673
|
|
|
3666
3674
|
```json
|
|
3667
3675
|
"extract": "{{record.price}} {{record.currency}}" // Combines two fields
|
|
@@ -3803,8 +3811,10 @@ components:
|
|
|
3803
3811
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
3804
3812
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
3805
3813
|
action). Omitting the key entirely means no fallback — the field is left out of the
|
|
3806
|
-
output when the extract is empty (the UI's "Do nothing" action)
|
|
3807
|
-
|
|
3814
|
+
output when the extract is missing or an empty string (the UI's "Do nothing" action),
|
|
3815
|
+
while a null source is still written as null unless `conditional.when` is
|
|
3816
|
+
`extract_not_empty`. Failing the record instead is `conditional.when:
|
|
3817
|
+
fail_record_when_empty`, which excludes a default.
|
|
3808
3818
|
x-celigo-ai-guidance:
|
|
3809
3819
|
- |-
|
|
3810
3820
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
@@ -3812,11 +3822,14 @@ components:
|
|
|
3812
3822
|
empty string renders it as `""` when the extract yields nothing.
|
|
3813
3823
|
Preserve them verbatim when editing or migrating a mapping — dropping
|
|
3814
3824
|
the key changes runtime behavior from "use null/empty string as
|
|
3815
|
-
default value" to "do nothing" (
|
|
3825
|
+
default value" to "do nothing" (a missing or `""` source is left out
|
|
3826
|
+
of the output, while a null source is written as null unless
|
|
3827
|
+
`conditional.when` is `extract_not_empty`).
|
|
3816
3828
|
- |-
|
|
3817
3829
|
The four "Action to take if source field has no value" choices map to:
|
|
3818
|
-
do nothing → no `default` key (
|
|
3819
|
-
extract_not_empty`
|
|
3830
|
+
do nothing → no `default` key (add `conditional.when:
|
|
3831
|
+
extract_not_empty` to leave a null source out too; without it a null
|
|
3832
|
+
source is written as null); use null → `"default": null`; use empty string or
|
|
3820
3833
|
a custom value → `"default": "<value>"`; cause the record to fail →
|
|
3821
3834
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
3822
3835
|
examples:
|
|
@@ -4031,8 +4044,7 @@ components:
|
|
|
4031
4044
|
|
|
4032
4045
|
**When to Use**
|
|
4033
4046
|
- REQUIRED when dataType ends with "array" (stringarray, objectarray, etc.), unless the
|
|
4034
|
-
row
|
|
4035
|
-
`hardCodedValue`
|
|
4047
|
+
row sets `hardCodedValue`: an array row's own `extract` is never read (see `dataType`)
|
|
4036
4048
|
- Each entry in this array contributes elements to the output array
|
|
4037
4049
|
- Multiple entries allow combining data from different input arrays
|
|
4038
4050
|
|
|
@@ -4116,28 +4128,10 @@ components:
|
|
|
4116
4128
|
}
|
|
4117
4129
|
```
|
|
4118
4130
|
|
|
4119
|
-
**
|
|
4120
|
-
-
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
{
|
|
4124
|
-
"generate": "matrix",
|
|
4125
|
-
"dataType": "arrayarray",
|
|
4126
|
-
"buildArrayHelper": [
|
|
4127
|
-
{
|
|
4128
|
-
"extract": "$.rows[*]", // For each row in the rows array
|
|
4129
|
-
"mappings": [
|
|
4130
|
-
{
|
|
4131
|
-
"dataType": "numberarray", // Note: No generate field for inner arrays
|
|
4132
|
-
"buildArrayHelper": [
|
|
4133
|
-
{"extract": "$.rows.columns[*]"} // Notice: "rows" is singular in the composite object
|
|
4134
|
-
]
|
|
4135
|
-
}
|
|
4136
|
-
]
|
|
4137
|
-
}
|
|
4138
|
-
]
|
|
4139
|
-
}
|
|
4140
|
-
```
|
|
4131
|
+
**Arrays of Arrays**
|
|
4132
|
+
- The mapper has no working type for them: `arrayarray` saves, but every record
|
|
4133
|
+
fails with `Destination datatype is a required field.` Build an array of arrays
|
|
4134
|
+
in a script hook instead.
|
|
4141
4135
|
|
|
4142
4136
|
**Important details**
|
|
4143
4137
|
|
|
@@ -4555,8 +4549,8 @@ components:
|
|
|
4555
4549
|
nature is essential for building effective mappings:
|
|
4556
4550
|
|
|
4557
4551
|
1. The schema is self-referential by design - a mapping can contain nested mappings of the same structure
|
|
4558
|
-
2. Complex data structures (nested objects
|
|
4559
|
-
handled through this recursive pattern
|
|
4552
|
+
2. Complex data structures (nested objects and arrays of objects, to any depth) are ALL
|
|
4553
|
+
handled through this recursive pattern; an array of arrays is not (build one in a script hook)
|
|
4560
4554
|
3. Each mapping handles one level of the data structure; deeper levels are handled by nested mappings
|
|
4561
4555
|
|
|
4562
4556
|
When generating mappings programmatically:
|
|
@@ -4610,9 +4604,8 @@ components:
|
|
|
4610
4604
|
- For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
|
|
4611
4605
|
- For object fields: Set to the object property name, then add child mappings in the 'mappings' array
|
|
4612
4606
|
- For array fields: Set to the array property name, then configure 'buildArrayHelper'
|
|
4613
|
-
-
|
|
4614
|
-
|
|
4615
|
-
structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
4607
|
+
- One structural blank: the single top-level `objectarray` item of a `rows [ ]` mapping (the
|
|
4608
|
+
array output structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
4616
4609
|
already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
|
|
4617
4610
|
name changes the output; it does not complete the row
|
|
4618
4611
|
|
|
@@ -4629,7 +4622,9 @@ components:
|
|
|
4629
4622
|
}
|
|
4630
4623
|
```
|
|
4631
4624
|
|
|
4632
|
-
When parsing existing mappings, an empty `generate`
|
|
4625
|
+
When parsing existing mappings, an empty `generate` on a row inside an `arrayarray` row's
|
|
4626
|
+
`buildArrayHelper` entry is that row's inner array (`arrayarray` fails at run time; see
|
|
4627
|
+
`dataType`); other unnamed rows are the wrappers and source-only rows described above; an
|
|
4633
4628
|
empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
|
|
4634
4629
|
structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
|
|
4635
4630
|
examples:
|
|
@@ -4663,17 +4658,25 @@ components:
|
|
|
4663
4658
|
- `numberarray`: Array of numbers
|
|
4664
4659
|
- `booleanarray`: Array of booleans
|
|
4665
4660
|
- `objectarray`: Array of objects (most common array type)
|
|
4666
|
-
- `arrayarray`: Array of arrays (for matrix/table structures)
|
|
4667
4661
|
|
|
4668
|
-
|
|
4669
|
-
|
|
4670
|
-
|
|
4671
|
-
|
|
4662
|
+
`arrayarray` is not a type the mapper recognizes: a save accepts it, but every record
|
|
4663
|
+
then fails with `Destination datatype is a required field.` Build an array of arrays
|
|
4664
|
+
in a script hook instead.
|
|
4665
|
+
|
|
4666
|
+
Array dataTypes are populated two ways: construct or iterate through
|
|
4667
|
+
`buildArrayHelper` entries, or set a constant with `hardCodedValue`. The
|
|
4668
|
+
row's own `extract` is never read on an array type: a primitive-array row
|
|
4669
|
+
that has only an `extract` (JSONPath, Handlebars or a literal) yields
|
|
4670
|
+
nothing, with no error, and an `objectarray` row without `buildArrayHelper`
|
|
4671
|
+
or `hardCodedValue` is refused with 422 ("buildArrayHelper" or
|
|
4672
|
+
"hardCodedValue" must be present for object array datatype.). To copy a
|
|
4673
|
+
source array through unchanged, use one entry that iterates it
|
|
4674
|
+
(`buildArrayHelper: [{"extract": "$.items[*]"}]`).
|
|
4672
4675
|
|
|
4673
4676
|
IMPORTANT: The dataType controls which additional fields are relevant:
|
|
4674
4677
|
- For date-like string fields: extractDateFormat, generateDateFormat, etc. become relevant
|
|
4675
4678
|
- For object types: 'mappings' array becomes relevant
|
|
4676
|
-
- For array types:
|
|
4679
|
+
- For array types: `buildArrayHelper` or `hardCodedValue` (see above)
|
|
4677
4680
|
|
|
4678
4681
|
When analyzing existing mappings or generating new ones, always check dataType first
|
|
4679
4682
|
to understand what additional fields should be present.
|
|
@@ -4692,7 +4695,6 @@ components:
|
|
|
4692
4695
|
- numberarray
|
|
4693
4696
|
- booleanarray
|
|
4694
4697
|
- objectarray
|
|
4695
|
-
- arrayarray
|
|
4696
4698
|
x-enumDescriptions:
|
|
4697
4699
|
string: Text values; converts other types to their string representation.
|
|
4698
4700
|
number: Numeric values; attempts conversion from strings.
|
|
@@ -4702,7 +4704,6 @@ components:
|
|
|
4702
4704
|
numberarray: Array of numeric values.
|
|
4703
4705
|
booleanarray: Array of boolean values.
|
|
4704
4706
|
objectarray: Array of objects, the most common array type.
|
|
4705
|
-
arrayarray: Array of arrays, used for matrix or table structures.
|
|
4706
4707
|
examples:
|
|
4707
4708
|
- string
|
|
4708
4709
|
- number
|
|
@@ -4745,9 +4746,10 @@ components:
|
|
|
4745
4746
|
- Valid on scalars and on `object` rows, where the rendered output must
|
|
4746
4747
|
parse into an object. On an array row the template goes in a
|
|
4747
4748
|
`buildArrayHelper` entry instead: on an `objectarray` row's own
|
|
4748
|
-
`extract` it is refused with 422 ("buildArrayHelper"
|
|
4749
|
-
for object array datatype), and on a primitive-array
|
|
4750
|
-
`extract` it
|
|
4749
|
+
`extract` it is refused with 422 ("buildArrayHelper" or "hardCodedValue"
|
|
4750
|
+
must be present for object array datatype.), and on a primitive-array
|
|
4751
|
+
row's own `extract` it yields nothing (the field is left out) without an
|
|
4752
|
+
error
|
|
4751
4753
|
|
|
4752
4754
|
```json
|
|
4753
4755
|
"extract": "{{record.price}} {{record.currency}}" // Combines two fields
|
|
@@ -4889,8 +4891,10 @@ components:
|
|
|
4889
4891
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
4890
4892
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
4891
4893
|
action). Omitting the key entirely means no fallback — the field is left out of the
|
|
4892
|
-
output when the extract is empty (the UI's "Do nothing" action)
|
|
4893
|
-
|
|
4894
|
+
output when the extract is missing or an empty string (the UI's "Do nothing" action),
|
|
4895
|
+
while a null source is still written as null unless `conditional.when` is
|
|
4896
|
+
`extract_not_empty`. Failing the record instead is `conditional.when:
|
|
4897
|
+
fail_record_when_empty`, which excludes a default.
|
|
4894
4898
|
x-celigo-ai-guidance:
|
|
4895
4899
|
- |-
|
|
4896
4900
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
@@ -4898,11 +4902,14 @@ components:
|
|
|
4898
4902
|
empty string renders it as `""` when the extract yields nothing.
|
|
4899
4903
|
Preserve them verbatim when editing or migrating a mapping — dropping
|
|
4900
4904
|
the key changes runtime behavior from "use null/empty string as
|
|
4901
|
-
default value" to "do nothing" (
|
|
4905
|
+
default value" to "do nothing" (a missing or `""` source is left out
|
|
4906
|
+
of the output, while a null source is written as null unless
|
|
4907
|
+
`conditional.when` is `extract_not_empty`).
|
|
4902
4908
|
- |-
|
|
4903
4909
|
The four "Action to take if source field has no value" choices map to:
|
|
4904
|
-
do nothing → no `default` key (
|
|
4905
|
-
extract_not_empty`
|
|
4910
|
+
do nothing → no `default` key (add `conditional.when:
|
|
4911
|
+
extract_not_empty` to leave a null source out too; without it a null
|
|
4912
|
+
source is written as null); use null → `"default": null`; use empty string or
|
|
4906
4913
|
a custom value → `"default": "<value>"`; cause the record to fail →
|
|
4907
4914
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
4908
4915
|
examples:
|
|
@@ -5117,8 +5124,7 @@ components:
|
|
|
5117
5124
|
|
|
5118
5125
|
**When to Use**
|
|
5119
5126
|
- REQUIRED when dataType ends with "array" (stringarray, objectarray, etc.), unless the
|
|
5120
|
-
row
|
|
5121
|
-
`hardCodedValue`
|
|
5127
|
+
row sets `hardCodedValue`: an array row's own `extract` is never read (see `dataType`)
|
|
5122
5128
|
- Each entry in this array contributes elements to the output array
|
|
5123
5129
|
- Multiple entries allow combining data from different input arrays
|
|
5124
5130
|
|
|
@@ -5202,28 +5208,10 @@ components:
|
|
|
5202
5208
|
}
|
|
5203
5209
|
```
|
|
5204
5210
|
|
|
5205
|
-
**
|
|
5206
|
-
-
|
|
5207
|
-
|
|
5208
|
-
|
|
5209
|
-
{
|
|
5210
|
-
"generate": "matrix",
|
|
5211
|
-
"dataType": "arrayarray",
|
|
5212
|
-
"buildArrayHelper": [
|
|
5213
|
-
{
|
|
5214
|
-
"extract": "$.rows[*]", // For each row in the rows array
|
|
5215
|
-
"mappings": [
|
|
5216
|
-
{
|
|
5217
|
-
"dataType": "numberarray", // Note: No generate field for inner arrays
|
|
5218
|
-
"buildArrayHelper": [
|
|
5219
|
-
{"extract": "$.rows.columns[*]"} // Notice: "rows" is singular in the composite object
|
|
5220
|
-
]
|
|
5221
|
-
}
|
|
5222
|
-
]
|
|
5223
|
-
}
|
|
5224
|
-
]
|
|
5225
|
-
}
|
|
5226
|
-
```
|
|
5211
|
+
**Arrays of Arrays**
|
|
5212
|
+
- The mapper has no working type for them: `arrayarray` saves, but every record
|
|
5213
|
+
fails with `Destination datatype is a required field.` Build an array of arrays
|
|
5214
|
+
in a script hook instead.
|
|
5227
5215
|
|
|
5228
5216
|
**Important details**
|
|
5229
5217
|
|
|
@@ -5867,7 +5855,7 @@ components:
|
|
|
5867
5855
|
- Unmapped Value
|
|
5868
5856
|
- '{Original Value}'
|
|
5869
5857
|
x-celigo-ai-guidance:
|
|
5870
|
-
- 'Omit this field entirely when no fallback value is intended
|
|
5858
|
+
- '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 `""`.'
|
|
5871
5859
|
allowFailures:
|
|
5872
5860
|
type:
|
|
5873
5861
|
- boolean
|
|
@@ -6026,6 +6014,11 @@ components:
|
|
|
6026
6014
|
dropped fields. Either map every field downstream logic
|
|
6027
6015
|
needs forward, or author Transform 2.0 with
|
|
6028
6016
|
``mode: "modify"`` instead.
|
|
6017
|
+
- |-
|
|
6018
|
+
An import's ``responseTransform`` is the exception: it accepts
|
|
6019
|
+
version ``"1"`` only (``"2"`` is refused with 422, verified live
|
|
6020
|
+
2026-10-21), so there, map every response field that response
|
|
6021
|
+
mapping needs.
|
|
6029
6022
|
items:
|
|
6030
6023
|
type: array
|
|
6031
6024
|
items:
|
|
@@ -14595,7 +14588,7 @@ components:
|
|
|
14595
14588
|
unmatched lookup halts the record. Stored as null when no
|
|
14596
14589
|
fallback is configured.
|
|
14597
14590
|
x-celigo-ai-guidance:
|
|
14598
|
-
- 'Omit this field entirely when no fallback value is intended.
|
|
14591
|
+
- 'Omit this field entirely when no fallback value is intended. An empty string is a value, not "no default": the save accepts `default: ""`, and a miss the lookup lets through writes `""`.'
|
|
14599
14592
|
- 'A fallback only takes effect on an allowed miss — pair a real default with allowFailures: true (or useDefaultOnMultipleMatches: true for the ambiguous-match case).'
|
|
14600
14593
|
allowFailures:
|
|
14601
14594
|
type:
|
|
@@ -25479,10 +25472,11 @@ components:
|
|
|
25479
25472
|
|
|
25480
25473
|
Runtime contract: ``options.responseData[]`` (one per
|
|
25481
25474
|
submitted record; ``{statusCode, errors, _json, ...}`` —
|
|
25482
|
-
``id`` is
|
|
25483
|
-
|
|
25484
|
-
|
|
25485
|
-
|
|
25475
|
+
``id`` is the destination record's on real runs; flow test
|
|
25476
|
+
runs substitute the saved ``mockResponse`` or the placeholder
|
|
25477
|
+
response, whose envelope carries the mock's id, such as
|
|
25478
|
+
``1234567890``) → array of the same length, typically mutated
|
|
25479
|
+
to annotate or augment per-record errors.
|
|
25486
25480
|
allOf:
|
|
25487
25481
|
- $ref: '#/components/schemas/Hook'
|
|
25488
25482
|
postAggregate:
|
|
@@ -25521,21 +25515,55 @@ components:
|
|
|
25521
25515
|
- transform
|
|
25522
25516
|
description: |-
|
|
25523
25517
|
Transformation that reshapes the destination system's response after records are
|
|
25524
|
-
imported
|
|
25525
|
-
|
|
25518
|
+
imported: it runs after the postSubmit hook, on each record's response body (`_json`),
|
|
25519
|
+
and its output replaces that body, so response mapping can't read a field the
|
|
25520
|
+
transform drops. Expression rules use version `"1"` (`rules`); version `"2"` is refused
|
|
25521
|
+
on save. Commonly used to extract relevant fields from verbose API responses.
|
|
25526
25522
|
allOf:
|
|
25527
25523
|
- $ref: '#/components/schemas/Transform'
|
|
25524
|
+
- type: object
|
|
25525
|
+
properties:
|
|
25526
|
+
expression:
|
|
25527
|
+
type: object
|
|
25528
|
+
properties:
|
|
25529
|
+
version:
|
|
25530
|
+
type: string
|
|
25531
|
+
enum:
|
|
25532
|
+
- '1'
|
|
25533
|
+
x-enumDescriptions:
|
|
25534
|
+
'1': Transformation 1.0 rules in `rules`, the only version an import's response transform accepts.
|
|
25535
|
+
description: Must be `"1"` on an import's response transform; `"2"` is refused with 422.
|
|
25528
25536
|
x-celigo-ai-guidance:
|
|
25537
|
+
- |-
|
|
25538
|
+
Verified live 2026-10-21 on an HTTP import in a flow run: the postSubmit hook's changes
|
|
25539
|
+
to `responseData[i]._json` were in the transform's input, the transform's output replaced
|
|
25540
|
+
`_json` (only the mapped fields were kept), and response mapping then found nothing at a
|
|
25541
|
+
dropped field's path. The execution-log stage is `responseTransformation`, and
|
|
25542
|
+
`POST /v1/imports/{_id}/invoke` returns the transformed body.
|
|
25543
|
+
- |-
|
|
25544
|
+
A save with `expression.version: "2"` (`rulesTwoDotZero`) fails with 422 "`2` is not a
|
|
25545
|
+
valid enum value for path `responseTransform.expression.version`." Write `version: "1"`
|
|
25546
|
+
rules (`[[{extract, generate}, ...]]`).
|
|
25529
25547
|
- |-
|
|
25530
25548
|
## IMPORT-SPECIFIC BEHAVIOR
|
|
25531
25549
|
|
|
25532
|
-
**Response Transformation**: Transforms the response data returned by the destination system after records have been imported. This allows you to reshape, filter, or enrich the response before it
|
|
25550
|
+
**Response Transformation**: Transforms the response data returned by the destination system after records have been imported. This allows you to reshape, filter, or enrich the response before response mapping reads it; the record passed downstream is the incoming record plus what response mapping copies out.
|
|
25533
25551
|
|
|
25534
25552
|
**Common Use Cases**:
|
|
25535
25553
|
- Extracting relevant fields from verbose API responses
|
|
25536
25554
|
- Normalizing response formats across different destination systems
|
|
25537
25555
|
- Adding computed fields based on response data
|
|
25538
25556
|
- Filtering out sensitive information before logging or further processing
|
|
25557
|
+
- |-
|
|
25558
|
+
## Transformation 1.0 rules only, and what response mapping reads
|
|
25559
|
+
|
|
25560
|
+
Expression rules here are Transformation 1.0 only (`expression.version: "1"`, the
|
|
25561
|
+
`rules` array) or a script: a version "2" expression is refused with 422
|
|
25562
|
+
(`` `2` is not a valid enum value for path `responseTransform.expression.version`. ``).
|
|
25563
|
+
The rules read the parsed response body, and their output replaces `_json`. v1 rules
|
|
25564
|
+
keep only the fields they generate, so the step's response mapping reads those
|
|
25565
|
+
names (at the envelope root or under `_json`) and nothing the rules dropped; `id`
|
|
25566
|
+
still resolves.
|
|
25539
25567
|
modelMetadata:
|
|
25540
25568
|
type: object
|
|
25541
25569
|
description: Metadata about the destination data model captured for this import. Rarely set.
|
|
@@ -25565,6 +25593,11 @@ components:
|
|
|
25565
25593
|
default to Mapper 2.0 at the top-level ``mappings`` (plural) field.
|
|
25566
25594
|
Do not set this field unsolicited; the v2 default produces better
|
|
25567
25595
|
output for modern connectors.
|
|
25596
|
+
|
|
25597
|
+
An import that carries both this field and ``mappings`` runs only
|
|
25598
|
+
``mappings``: the Mapper 1.0 rows are ignored, with no error. A
|
|
25599
|
+
conversion to Mapper 2.0 therefore translates every row and removes
|
|
25600
|
+
this field in the same save.
|
|
25568
25601
|
- |-
|
|
25569
25602
|
Allowed (but not the default) on other import adaptors such as
|
|
25570
25603
|
``HTTPImport``, ``RDBMSImport``, ``FTPImport``, and
|