@celigo/api-specs 0.2.100 → 0.2.102
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 +30 -6
- package/dist/asynchelper.yml +30 -6
- package/dist/export.yml +30 -6
- package/dist/import.yml +57 -155
- package/dist/tool.yml +243 -22
- package/package.json +1 -1
- package/schemas.json +1 -1
package/dist/ai-agent.yml
CHANGED
|
@@ -2118,7 +2118,11 @@ components:
|
|
|
2118
2118
|
- For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
|
|
2119
2119
|
- For object fields: Set to the object property name, then add child mappings in the 'mappings' array
|
|
2120
2120
|
- For array fields: Set to the array property name, then configure 'buildArrayHelper'
|
|
2121
|
-
-
|
|
2121
|
+
- Two structural blanks: the inner array item of an array of arrays (it has no field name),
|
|
2122
|
+
and the single top-level `objectarray` item of a `rows [ ]` mapping (the array output
|
|
2123
|
+
structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
2124
|
+
already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
|
|
2125
|
+
name changes the output; it does not complete the row
|
|
2122
2126
|
|
|
2123
2127
|
IMPORTANT: Do NOT use dot notation (e.g., "customer.firstName") in this field. Instead, create proper
|
|
2124
2128
|
hierarchical structure with nested mappings:
|
|
@@ -2133,8 +2137,9 @@ components:
|
|
|
2133
2137
|
}
|
|
2134
2138
|
```
|
|
2135
2139
|
|
|
2136
|
-
When parsing existing mappings, empty
|
|
2137
|
-
|
|
2140
|
+
When parsing existing mappings, an empty `generate` inside a parent array is an inner array; an
|
|
2141
|
+
empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
|
|
2142
|
+
structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
|
|
2138
2143
|
examples:
|
|
2139
2144
|
- name
|
|
2140
2145
|
- address
|
|
@@ -3115,6 +3120,12 @@ components:
|
|
|
3115
3120
|
object-array row left with no source, no destination and no remaining child `mappings` or
|
|
3116
3121
|
`buildArrayHelper` entries; a row with only one of the two, and a source-less, destination-less
|
|
3117
3122
|
wrapper that still has children, are kept.
|
|
3123
|
+
|
|
3124
|
+
The shape of the array is the mapper's **JSON structure**. Named top-level items produce an object
|
|
3125
|
+
record (`record { }`). Exactly one top-level item with `dataType: objectarray` and no `generate` is
|
|
3126
|
+
the `rows [ ]` structure: the mapped record is an array — usually one element per element of the
|
|
3127
|
+
source array that root's `buildArrayHelper` iterates — Handlebars templates such as `http.body`
|
|
3128
|
+
bind it as `rows` instead of `record`, and the mapping editor shows that row's destination disabled.
|
|
3118
3129
|
x-celigo-ai-guidance:
|
|
3119
3130
|
- |-
|
|
3120
3131
|
Rows that exist in the saved document — including `Draft` and `Inactive` rows and
|
|
@@ -3123,6 +3134,14 @@ components:
|
|
|
3123
3134
|
them. Only a row with neither source nor destination — and, for an object or
|
|
3124
3135
|
object-array row, no remaining children — can be left out; the save would drop it
|
|
3125
3136
|
anyway. A wrapper with children but no `generate` is kept by the save, so keep it.
|
|
3137
|
+
- |-
|
|
3138
|
+
A single unnamed top-level `objectarray` item is the `rows [ ]` JSON structure, not a
|
|
3139
|
+
missing destination: keep it unnamed when editing (naming it turns the output into an
|
|
3140
|
+
object, and a template that iterates `rows` then renders nothing), and author that
|
|
3141
|
+
shape only when the request body must be an array or a template iterates `rows`.
|
|
3142
|
+
The editor's save check accepts the unnamed root only in the `rows [ ]` structure;
|
|
3143
|
+
any other row with a source and no `generate` fails with "One or more destination
|
|
3144
|
+
field values not entered".
|
|
3126
3145
|
items:
|
|
3127
3146
|
type: object
|
|
3128
3147
|
properties:
|
|
@@ -3138,7 +3157,11 @@ components:
|
|
|
3138
3157
|
- For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
|
|
3139
3158
|
- For object fields: Set to the object property name, then add child mappings in the 'mappings' array
|
|
3140
3159
|
- For array fields: Set to the array property name, then configure 'buildArrayHelper'
|
|
3141
|
-
-
|
|
3160
|
+
- Two structural blanks: the inner array item of an array of arrays (it has no field name),
|
|
3161
|
+
and the single top-level `objectarray` item of a `rows [ ]` mapping (the array output
|
|
3162
|
+
structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
3163
|
+
already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
|
|
3164
|
+
name changes the output; it does not complete the row
|
|
3142
3165
|
|
|
3143
3166
|
IMPORTANT: Do NOT use dot notation (e.g., "customer.firstName") in this field. Instead, create proper
|
|
3144
3167
|
hierarchical structure with nested mappings:
|
|
@@ -3153,8 +3176,9 @@ components:
|
|
|
3153
3176
|
}
|
|
3154
3177
|
```
|
|
3155
3178
|
|
|
3156
|
-
When parsing existing mappings, empty
|
|
3157
|
-
|
|
3179
|
+
When parsing existing mappings, an empty `generate` inside a parent array is an inner array; an
|
|
3180
|
+
empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
|
|
3181
|
+
structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
|
|
3158
3182
|
examples:
|
|
3159
3183
|
- name
|
|
3160
3184
|
- address
|
package/dist/asynchelper.yml
CHANGED
|
@@ -505,7 +505,11 @@ 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
|
-
-
|
|
508
|
+
- Two structural blanks: the inner array item of an array of arrays (it has no field name),
|
|
509
|
+
and the single top-level `objectarray` item of a `rows [ ]` mapping (the array output
|
|
510
|
+
structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
511
|
+
already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
|
|
512
|
+
name changes the output; it does not complete the row
|
|
509
513
|
|
|
510
514
|
IMPORTANT: Do NOT use dot notation (e.g., "customer.firstName") in this field. Instead, create proper
|
|
511
515
|
hierarchical structure with nested mappings:
|
|
@@ -520,8 +524,9 @@ components:
|
|
|
520
524
|
}
|
|
521
525
|
```
|
|
522
526
|
|
|
523
|
-
When parsing existing mappings, empty
|
|
524
|
-
|
|
527
|
+
When parsing existing mappings, an empty `generate` inside a parent array is an inner array; an
|
|
528
|
+
empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
|
|
529
|
+
structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
|
|
525
530
|
examples:
|
|
526
531
|
- name
|
|
527
532
|
- address
|
|
@@ -1502,6 +1507,12 @@ components:
|
|
|
1502
1507
|
object-array row left with no source, no destination and no remaining child `mappings` or
|
|
1503
1508
|
`buildArrayHelper` entries; a row with only one of the two, and a source-less, destination-less
|
|
1504
1509
|
wrapper that still has children, are kept.
|
|
1510
|
+
|
|
1511
|
+
The shape of the array is the mapper's **JSON structure**. Named top-level items produce an object
|
|
1512
|
+
record (`record { }`). Exactly one top-level item with `dataType: objectarray` and no `generate` is
|
|
1513
|
+
the `rows [ ]` structure: the mapped record is an array — usually one element per element of the
|
|
1514
|
+
source array that root's `buildArrayHelper` iterates — Handlebars templates such as `http.body`
|
|
1515
|
+
bind it as `rows` instead of `record`, and the mapping editor shows that row's destination disabled.
|
|
1505
1516
|
x-celigo-ai-guidance:
|
|
1506
1517
|
- |-
|
|
1507
1518
|
Rows that exist in the saved document — including `Draft` and `Inactive` rows and
|
|
@@ -1510,6 +1521,14 @@ components:
|
|
|
1510
1521
|
them. Only a row with neither source nor destination — and, for an object or
|
|
1511
1522
|
object-array row, no remaining children — can be left out; the save would drop it
|
|
1512
1523
|
anyway. A wrapper with children but no `generate` is kept by the save, so keep it.
|
|
1524
|
+
- |-
|
|
1525
|
+
A single unnamed top-level `objectarray` item is the `rows [ ]` JSON structure, not a
|
|
1526
|
+
missing destination: keep it unnamed when editing (naming it turns the output into an
|
|
1527
|
+
object, and a template that iterates `rows` then renders nothing), and author that
|
|
1528
|
+
shape only when the request body must be an array or a template iterates `rows`.
|
|
1529
|
+
The editor's save check accepts the unnamed root only in the `rows [ ]` structure;
|
|
1530
|
+
any other row with a source and no `generate` fails with "One or more destination
|
|
1531
|
+
field values not entered".
|
|
1513
1532
|
items:
|
|
1514
1533
|
type: object
|
|
1515
1534
|
properties:
|
|
@@ -1525,7 +1544,11 @@ components:
|
|
|
1525
1544
|
- For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
|
|
1526
1545
|
- For object fields: Set to the object property name, then add child mappings in the 'mappings' array
|
|
1527
1546
|
- For array fields: Set to the array property name, then configure 'buildArrayHelper'
|
|
1528
|
-
-
|
|
1547
|
+
- Two structural blanks: the inner array item of an array of arrays (it has no field name),
|
|
1548
|
+
and the single top-level `objectarray` item of a `rows [ ]` mapping (the array output
|
|
1549
|
+
structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
1550
|
+
already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
|
|
1551
|
+
name changes the output; it does not complete the row
|
|
1529
1552
|
|
|
1530
1553
|
IMPORTANT: Do NOT use dot notation (e.g., "customer.firstName") in this field. Instead, create proper
|
|
1531
1554
|
hierarchical structure with nested mappings:
|
|
@@ -1540,8 +1563,9 @@ components:
|
|
|
1540
1563
|
}
|
|
1541
1564
|
```
|
|
1542
1565
|
|
|
1543
|
-
When parsing existing mappings, empty
|
|
1544
|
-
|
|
1566
|
+
When parsing existing mappings, an empty `generate` inside a parent array is an inner array; an
|
|
1567
|
+
empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
|
|
1568
|
+
structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
|
|
1545
1569
|
examples:
|
|
1546
1570
|
- name
|
|
1547
1571
|
- address
|
package/dist/export.yml
CHANGED
|
@@ -12311,7 +12311,11 @@ components:
|
|
|
12311
12311
|
- For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
|
|
12312
12312
|
- For object fields: Set to the object property name, then add child mappings in the 'mappings' array
|
|
12313
12313
|
- For array fields: Set to the array property name, then configure 'buildArrayHelper'
|
|
12314
|
-
-
|
|
12314
|
+
- Two structural blanks: the inner array item of an array of arrays (it has no field name),
|
|
12315
|
+
and the single top-level `objectarray` item of a `rows [ ]` mapping (the array output
|
|
12316
|
+
structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
12317
|
+
already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
|
|
12318
|
+
name changes the output; it does not complete the row
|
|
12315
12319
|
|
|
12316
12320
|
IMPORTANT: Do NOT use dot notation (e.g., "customer.firstName") in this field. Instead, create proper
|
|
12317
12321
|
hierarchical structure with nested mappings:
|
|
@@ -12326,8 +12330,9 @@ components:
|
|
|
12326
12330
|
}
|
|
12327
12331
|
```
|
|
12328
12332
|
|
|
12329
|
-
When parsing existing mappings, empty
|
|
12330
|
-
|
|
12333
|
+
When parsing existing mappings, an empty `generate` inside a parent array is an inner array; an
|
|
12334
|
+
empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
|
|
12335
|
+
structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
|
|
12331
12336
|
examples:
|
|
12332
12337
|
- name
|
|
12333
12338
|
- address
|
|
@@ -13308,6 +13313,12 @@ components:
|
|
|
13308
13313
|
object-array row left with no source, no destination and no remaining child `mappings` or
|
|
13309
13314
|
`buildArrayHelper` entries; a row with only one of the two, and a source-less, destination-less
|
|
13310
13315
|
wrapper that still has children, are kept.
|
|
13316
|
+
|
|
13317
|
+
The shape of the array is the mapper's **JSON structure**. Named top-level items produce an object
|
|
13318
|
+
record (`record { }`). Exactly one top-level item with `dataType: objectarray` and no `generate` is
|
|
13319
|
+
the `rows [ ]` structure: the mapped record is an array — usually one element per element of the
|
|
13320
|
+
source array that root's `buildArrayHelper` iterates — Handlebars templates such as `http.body`
|
|
13321
|
+
bind it as `rows` instead of `record`, and the mapping editor shows that row's destination disabled.
|
|
13311
13322
|
x-celigo-ai-guidance:
|
|
13312
13323
|
- |-
|
|
13313
13324
|
Rows that exist in the saved document — including `Draft` and `Inactive` rows and
|
|
@@ -13316,6 +13327,14 @@ components:
|
|
|
13316
13327
|
them. Only a row with neither source nor destination — and, for an object or
|
|
13317
13328
|
object-array row, no remaining children — can be left out; the save would drop it
|
|
13318
13329
|
anyway. A wrapper with children but no `generate` is kept by the save, so keep it.
|
|
13330
|
+
- |-
|
|
13331
|
+
A single unnamed top-level `objectarray` item is the `rows [ ]` JSON structure, not a
|
|
13332
|
+
missing destination: keep it unnamed when editing (naming it turns the output into an
|
|
13333
|
+
object, and a template that iterates `rows` then renders nothing), and author that
|
|
13334
|
+
shape only when the request body must be an array or a template iterates `rows`.
|
|
13335
|
+
The editor's save check accepts the unnamed root only in the `rows [ ]` structure;
|
|
13336
|
+
any other row with a source and no `generate` fails with "One or more destination
|
|
13337
|
+
field values not entered".
|
|
13319
13338
|
items:
|
|
13320
13339
|
type: object
|
|
13321
13340
|
properties:
|
|
@@ -13331,7 +13350,11 @@ components:
|
|
|
13331
13350
|
- For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
|
|
13332
13351
|
- For object fields: Set to the object property name, then add child mappings in the 'mappings' array
|
|
13333
13352
|
- For array fields: Set to the array property name, then configure 'buildArrayHelper'
|
|
13334
|
-
-
|
|
13353
|
+
- Two structural blanks: the inner array item of an array of arrays (it has no field name),
|
|
13354
|
+
and the single top-level `objectarray` item of a `rows [ ]` mapping (the array output
|
|
13355
|
+
structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
13356
|
+
already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
|
|
13357
|
+
name changes the output; it does not complete the row
|
|
13335
13358
|
|
|
13336
13359
|
IMPORTANT: Do NOT use dot notation (e.g., "customer.firstName") in this field. Instead, create proper
|
|
13337
13360
|
hierarchical structure with nested mappings:
|
|
@@ -13346,8 +13369,9 @@ components:
|
|
|
13346
13369
|
}
|
|
13347
13370
|
```
|
|
13348
13371
|
|
|
13349
|
-
When parsing existing mappings, empty
|
|
13350
|
-
|
|
13372
|
+
When parsing existing mappings, an empty `generate` inside a parent array is an inner array; an
|
|
13373
|
+
empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
|
|
13374
|
+
structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
|
|
13351
13375
|
examples:
|
|
13352
13376
|
- name
|
|
13353
13377
|
- address
|
package/dist/import.yml
CHANGED
|
@@ -677,11 +677,11 @@ paths:
|
|
|
677
677
|
|
|
678
678
|
The integrator.io UI never calls this path — the import editor's
|
|
679
679
|
"Preview" and "Send" buttons both go through
|
|
680
|
-
`POST /v1/pageProcessors/preview`. This
|
|
681
|
-
|
|
682
|
-
`POST /v1/integrations/{_integrationId}/flows/{_flowId}/imports/preview`
|
|
683
|
-
|
|
684
|
-
|
|
680
|
+
`POST /v1/pageProcessors/preview`. This is the only import preview
|
|
681
|
+
route on the public API: unlike exports, imports have no flow-scoped
|
|
682
|
+
sibling — `POST /v1/integrations/{_integrationId}/flows/{_flowId}/imports/preview`
|
|
683
|
+
answers 404 `resource_not_found`. To preview an import inside its
|
|
684
|
+
flow, use `POST /v1/pageProcessors/preview`.
|
|
685
685
|
requestBody:
|
|
686
686
|
required: true
|
|
687
687
|
content:
|
|
@@ -934,82 +934,6 @@ paths:
|
|
|
934
934
|
message: _connectionId is required.
|
|
935
935
|
'401':
|
|
936
936
|
$ref: '#/components/responses/401-unauthorized'
|
|
937
|
-
/v1/integrations/{_integrationId}/flows/{_flowId}/imports/preview:
|
|
938
|
-
post:
|
|
939
|
-
x-internal: false
|
|
940
|
-
summary: Preview import data
|
|
941
|
-
description: |
|
|
942
|
-
Runs the import pipeline — field mappings, transformations, and hooks —
|
|
943
|
-
against the supplied sample data and returns the per-record results.
|
|
944
|
-
Treat the preview as capable of executing the composed destination
|
|
945
|
-
request: its unscoped sibling (`POST /v1/imports/preview`) is verified
|
|
946
|
-
to write real records to live destinations and offers no option to
|
|
947
|
-
disable the send, so do not preview create/update imports against
|
|
948
|
-
production systems with data you do not want written. For a
|
|
949
|
-
compose-only preview of the destination request, use
|
|
950
|
-
`POST /v1/pageProcessors/preview` with `{preview: true}` on the
|
|
951
|
-
target entry.
|
|
952
|
-
operationId: previewImportData
|
|
953
|
-
tags:
|
|
954
|
-
- Imports
|
|
955
|
-
parameters:
|
|
956
|
-
- in: path
|
|
957
|
-
name: _integrationId
|
|
958
|
-
required: true
|
|
959
|
-
schema:
|
|
960
|
-
type: string
|
|
961
|
-
format: objectId
|
|
962
|
-
x-celigo-refModel: integrations
|
|
963
|
-
examples:
|
|
964
|
-
- 60a2c4e6f321d800129a1a3c
|
|
965
|
-
description: Integration ID
|
|
966
|
-
- in: path
|
|
967
|
-
name: _flowId
|
|
968
|
-
required: true
|
|
969
|
-
schema:
|
|
970
|
-
type: string
|
|
971
|
-
format: objectId
|
|
972
|
-
x-celigo-refModel: flows
|
|
973
|
-
examples:
|
|
974
|
-
- 64ff4b22612a134bd2f45538
|
|
975
|
-
description: Flow ID
|
|
976
|
-
requestBody:
|
|
977
|
-
required: true
|
|
978
|
-
content:
|
|
979
|
-
application/json:
|
|
980
|
-
schema:
|
|
981
|
-
$ref: '#/components/schemas/PreviewRequest'
|
|
982
|
-
examples:
|
|
983
|
-
one_record:
|
|
984
|
-
summary: Preview an existing import against one sample record
|
|
985
|
-
value:
|
|
986
|
-
_importId: 5f8d43a1b9e5a80011a35f2c
|
|
987
|
-
sampleData:
|
|
988
|
-
name: Acme Corp
|
|
989
|
-
email: contact@acme.com
|
|
990
|
-
responses:
|
|
991
|
-
'200':
|
|
992
|
-
description: Successfully previewed import data
|
|
993
|
-
content:
|
|
994
|
-
application/json:
|
|
995
|
-
schema:
|
|
996
|
-
$ref: '#/components/schemas/PreviewResponse'
|
|
997
|
-
examples:
|
|
998
|
-
mapped_record:
|
|
999
|
-
summary: Mapped record as composed for the destination
|
|
1000
|
-
value:
|
|
1001
|
-
data:
|
|
1002
|
-
- name: Acme Corp
|
|
1003
|
-
email: contact@acme.com
|
|
1004
|
-
errors: []
|
|
1005
|
-
'400':
|
|
1006
|
-
$ref: '#/components/responses/400-bad-request'
|
|
1007
|
-
'401':
|
|
1008
|
-
$ref: '#/components/responses/401-unauthorized'
|
|
1009
|
-
'404':
|
|
1010
|
-
$ref: '#/components/responses/404-not-found'
|
|
1011
|
-
'422':
|
|
1012
|
-
$ref: '#/components/responses/422-unprocessable-entity'
|
|
1013
937
|
/v1/imports/{_id}/dependencies:
|
|
1014
938
|
get:
|
|
1015
939
|
x-internal: false
|
|
@@ -12363,7 +12287,11 @@ components:
|
|
|
12363
12287
|
- For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
|
|
12364
12288
|
- For object fields: Set to the object property name, then add child mappings in the 'mappings' array
|
|
12365
12289
|
- For array fields: Set to the array property name, then configure 'buildArrayHelper'
|
|
12366
|
-
-
|
|
12290
|
+
- Two structural blanks: the inner array item of an array of arrays (it has no field name),
|
|
12291
|
+
and the single top-level `objectarray` item of a `rows [ ]` mapping (the array output
|
|
12292
|
+
structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
12293
|
+
already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
|
|
12294
|
+
name changes the output; it does not complete the row
|
|
12367
12295
|
|
|
12368
12296
|
IMPORTANT: Do NOT use dot notation (e.g., "customer.firstName") in this field. Instead, create proper
|
|
12369
12297
|
hierarchical structure with nested mappings:
|
|
@@ -12378,8 +12306,9 @@ components:
|
|
|
12378
12306
|
}
|
|
12379
12307
|
```
|
|
12380
12308
|
|
|
12381
|
-
When parsing existing mappings, empty
|
|
12382
|
-
|
|
12309
|
+
When parsing existing mappings, an empty `generate` inside a parent array is an inner array; an
|
|
12310
|
+
empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
|
|
12311
|
+
structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
|
|
12383
12312
|
examples:
|
|
12384
12313
|
- name
|
|
12385
12314
|
- address
|
|
@@ -13360,6 +13289,12 @@ components:
|
|
|
13360
13289
|
object-array row left with no source, no destination and no remaining child `mappings` or
|
|
13361
13290
|
`buildArrayHelper` entries; a row with only one of the two, and a source-less, destination-less
|
|
13362
13291
|
wrapper that still has children, are kept.
|
|
13292
|
+
|
|
13293
|
+
The shape of the array is the mapper's **JSON structure**. Named top-level items produce an object
|
|
13294
|
+
record (`record { }`). Exactly one top-level item with `dataType: objectarray` and no `generate` is
|
|
13295
|
+
the `rows [ ]` structure: the mapped record is an array — usually one element per element of the
|
|
13296
|
+
source array that root's `buildArrayHelper` iterates — Handlebars templates such as `http.body`
|
|
13297
|
+
bind it as `rows` instead of `record`, and the mapping editor shows that row's destination disabled.
|
|
13363
13298
|
x-celigo-ai-guidance:
|
|
13364
13299
|
- |-
|
|
13365
13300
|
Rows that exist in the saved document — including `Draft` and `Inactive` rows and
|
|
@@ -13368,6 +13303,14 @@ components:
|
|
|
13368
13303
|
them. Only a row with neither source nor destination — and, for an object or
|
|
13369
13304
|
object-array row, no remaining children — can be left out; the save would drop it
|
|
13370
13305
|
anyway. A wrapper with children but no `generate` is kept by the save, so keep it.
|
|
13306
|
+
- |-
|
|
13307
|
+
A single unnamed top-level `objectarray` item is the `rows [ ]` JSON structure, not a
|
|
13308
|
+
missing destination: keep it unnamed when editing (naming it turns the output into an
|
|
13309
|
+
object, and a template that iterates `rows` then renders nothing), and author that
|
|
13310
|
+
shape only when the request body must be an array or a template iterates `rows`.
|
|
13311
|
+
The editor's save check accepts the unnamed root only in the `rows [ ]` structure;
|
|
13312
|
+
any other row with a source and no `generate` fails with "One or more destination
|
|
13313
|
+
field values not entered".
|
|
13371
13314
|
items:
|
|
13372
13315
|
type: object
|
|
13373
13316
|
properties:
|
|
@@ -13383,7 +13326,11 @@ components:
|
|
|
13383
13326
|
- For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
|
|
13384
13327
|
- For object fields: Set to the object property name, then add child mappings in the 'mappings' array
|
|
13385
13328
|
- For array fields: Set to the array property name, then configure 'buildArrayHelper'
|
|
13386
|
-
-
|
|
13329
|
+
- Two structural blanks: the inner array item of an array of arrays (it has no field name),
|
|
13330
|
+
and the single top-level `objectarray` item of a `rows [ ]` mapping (the array output
|
|
13331
|
+
structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
13332
|
+
already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
|
|
13333
|
+
name changes the output; it does not complete the row
|
|
13387
13334
|
|
|
13388
13335
|
IMPORTANT: Do NOT use dot notation (e.g., "customer.firstName") in this field. Instead, create proper
|
|
13389
13336
|
hierarchical structure with nested mappings:
|
|
@@ -13398,8 +13345,9 @@ components:
|
|
|
13398
13345
|
}
|
|
13399
13346
|
```
|
|
13400
13347
|
|
|
13401
|
-
When parsing existing mappings, empty
|
|
13402
|
-
|
|
13348
|
+
When parsing existing mappings, an empty `generate` inside a parent array is an inner array; an
|
|
13349
|
+
empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
|
|
13350
|
+
structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
|
|
13403
13351
|
examples:
|
|
13404
13352
|
- name
|
|
13405
13353
|
- address
|
|
@@ -16364,6 +16312,23 @@ components:
|
|
|
16364
16312
|
per-mode contract. Handlebars expressions in ``extract`` always
|
|
16365
16313
|
reference ``{{record.field}}`` regardless — only JSONPath
|
|
16366
16314
|
behavior flips with ``inputContext``.
|
|
16315
|
+
- |-
|
|
16316
|
+
## JSON structure — record { } or rows [ ]
|
|
16317
|
+
|
|
16318
|
+
The shape of this array is the mapper's JSON structure. Named
|
|
16319
|
+
top-level items produce an object record; ``http.body`` and the
|
|
16320
|
+
other templates bind it as ``record``. Exactly one top-level item
|
|
16321
|
+
with ``dataType: objectarray`` and no ``generate`` is the
|
|
16322
|
+
``rows [ ]`` structure: the mapped record is an array — one
|
|
16323
|
+
element per element the item's ``buildArrayHelper`` iterates —
|
|
16324
|
+
and templates bind it as ``rows`` (``{{#each rows}}``), with
|
|
16325
|
+
``record.*`` undefined. The mapping editor shows that row's
|
|
16326
|
+
destination disabled; its save check accepts the unnamed root
|
|
16327
|
+
only in the ``rows [ ]`` structure and fails any other row that
|
|
16328
|
+
has a source and no ``generate`` with "One or more destination
|
|
16329
|
+
field values not entered". Keep the root unnamed when editing a
|
|
16330
|
+
``rows [ ]`` mapping — naming it turns the output into an object
|
|
16331
|
+
and a ``{{#each rows}}`` body renders nothing.
|
|
16367
16332
|
- |-
|
|
16368
16333
|
## IMPORT-SPECIFIC BEHAVIOR
|
|
16369
16334
|
|
|
@@ -17081,13 +17046,11 @@ components:
|
|
|
17081
17046
|
ImportPreviewResponse:
|
|
17082
17047
|
type: object
|
|
17083
17048
|
description: |-
|
|
17084
|
-
Envelope returned by `POST /v1/imports/preview
|
|
17085
|
-
|
|
17086
|
-
|
|
17087
|
-
|
|
17088
|
-
|
|
17089
|
-
composed destination request — see the operation descriptions for the
|
|
17090
|
-
write-safety warning.
|
|
17049
|
+
Envelope returned by `POST /v1/imports/preview`. Carries per-stage
|
|
17050
|
+
diagnostics alongside the sampled records produced by running the
|
|
17051
|
+
supplied source data through the import's mapping/transform/target
|
|
17052
|
+
pipeline. The target stage executes the composed destination request —
|
|
17053
|
+
see the operation description for the write-safety warning.
|
|
17091
17054
|
properties:
|
|
17092
17055
|
data:
|
|
17093
17056
|
type: array
|
|
@@ -17283,67 +17246,6 @@ components:
|
|
|
17283
17246
|
celigo_classname:
|
|
17284
17247
|
type: string
|
|
17285
17248
|
description: Internal engine class name for the result (e.g. `Celigo.integrator.mapping.model.MapToNetSuiteResult`).
|
|
17286
|
-
PreviewRequest:
|
|
17287
|
-
type: object
|
|
17288
|
-
description: |
|
|
17289
|
-
Request body for running sample data through an import's pipeline
|
|
17290
|
-
(mappings, transformations, hooks). The preview can execute the
|
|
17291
|
-
composed destination request — see the operation descriptions for the
|
|
17292
|
-
write-safety warning.
|
|
17293
|
-
properties:
|
|
17294
|
-
_importId:
|
|
17295
|
-
type: string
|
|
17296
|
-
format: objectId
|
|
17297
|
-
x-celigo-refModel: imports
|
|
17298
|
-
description: The import to preview. Required when previewing within a flow.
|
|
17299
|
-
examples:
|
|
17300
|
-
- 5f8d43a1b9e5a80011a35f2c
|
|
17301
|
-
sampleData:
|
|
17302
|
-
description: |
|
|
17303
|
-
Sample source record(s) to run through the import's mappings and transformations.
|
|
17304
|
-
May be a single object or an array of objects depending on the adaptor.
|
|
17305
|
-
oneOf:
|
|
17306
|
-
- title: Single record
|
|
17307
|
-
type: object
|
|
17308
|
-
additionalProperties: true
|
|
17309
|
-
- title: Array of records
|
|
17310
|
-
type: array
|
|
17311
|
-
items:
|
|
17312
|
-
type: object
|
|
17313
|
-
additionalProperties: true
|
|
17314
|
-
options:
|
|
17315
|
-
type: object
|
|
17316
|
-
description: Optional overrides applied only for this preview.
|
|
17317
|
-
additionalProperties: true
|
|
17318
|
-
additionalProperties: true
|
|
17319
|
-
PreviewResponse:
|
|
17320
|
-
type: object
|
|
17321
|
-
description: |
|
|
17322
|
-
Result of running a preview against the configured import. Shows the
|
|
17323
|
-
mapped/transformed records as composed for the destination.
|
|
17324
|
-
properties:
|
|
17325
|
-
data:
|
|
17326
|
-
type: array
|
|
17327
|
-
description: Mapped and transformed records produced by the import.
|
|
17328
|
-
items:
|
|
17329
|
-
type: object
|
|
17330
|
-
additionalProperties: true
|
|
17331
|
-
errors:
|
|
17332
|
-
type: array
|
|
17333
|
-
description: Any validation or transformation errors encountered while building the preview.
|
|
17334
|
-
items:
|
|
17335
|
-
type: object
|
|
17336
|
-
properties:
|
|
17337
|
-
code:
|
|
17338
|
-
type: string
|
|
17339
|
-
description: Machine-readable code identifying the type of preview error.
|
|
17340
|
-
message:
|
|
17341
|
-
type: string
|
|
17342
|
-
description: Human-readable explanation of what went wrong while building the preview.
|
|
17343
|
-
path:
|
|
17344
|
-
type: string
|
|
17345
|
-
description: Path to the field or configuration element the error relates to.
|
|
17346
|
-
additionalProperties: true
|
|
17347
17249
|
DependencyEntry:
|
|
17348
17250
|
type: object
|
|
17349
17251
|
description: A single resource that depends on the queried resource.
|
package/dist/tool.yml
CHANGED
|
@@ -1273,6 +1273,10 @@ paths:
|
|
|
1273
1273
|
broader history. Use an entry's `executionId` with
|
|
1274
1274
|
`GET /v1/tools/{_id}/invocations/{executionId}` to drill into its steps.
|
|
1275
1275
|
|
|
1276
|
+
Entries are written asynchronously: a run appears here a few seconds after
|
|
1277
|
+
`POST /v1/tools/{_id}/invoke` returns, so re-read before concluding that a run
|
|
1278
|
+
was not logged.
|
|
1279
|
+
|
|
1276
1280
|
Sandbox Tools return `403`. Custom roles only see invocations whose
|
|
1277
1281
|
`_invokerIntegrationId` is in their accessible integrations.
|
|
1278
1282
|
parameters:
|
|
@@ -1288,7 +1292,9 @@ paths:
|
|
|
1288
1292
|
- 65a98d1ef2b40000098c3a4d
|
|
1289
1293
|
- name: pageSize
|
|
1290
1294
|
in: query
|
|
1291
|
-
description:
|
|
1295
|
+
description: |-
|
|
1296
|
+
Number of entries per page. Larger values are clamped to 100; `0` or a non-numeric
|
|
1297
|
+
value returns `400` `invalid_url`.
|
|
1292
1298
|
schema:
|
|
1293
1299
|
type: integer
|
|
1294
1300
|
minimum: 1
|
|
@@ -1454,7 +1460,11 @@ paths:
|
|
|
1454
1460
|
nextPageUrl: null
|
|
1455
1461
|
prevPageUrl: null
|
|
1456
1462
|
'400':
|
|
1457
|
-
description:
|
|
1463
|
+
description: |-
|
|
1464
|
+
Invalid query parameter: a `status` token outside the enum (`invalid_status`), a
|
|
1465
|
+
`sortOrder` other than `asc`/`desc` (`invalid_sort_order`), a `time_gte`/`time_lte`
|
|
1466
|
+
that is not a timestamp (`invalid_field`), or a `pageSize` below 1 or non-numeric
|
|
1467
|
+
(`invalid_url`).
|
|
1458
1468
|
content:
|
|
1459
1469
|
application/json:
|
|
1460
1470
|
schema:
|
|
@@ -1465,6 +1475,23 @@ paths:
|
|
|
1465
1475
|
errors:
|
|
1466
1476
|
- code: invalid_status
|
|
1467
1477
|
message: Status should be either success, error or ignore.
|
|
1478
|
+
invalid_sort_order:
|
|
1479
|
+
value:
|
|
1480
|
+
errors:
|
|
1481
|
+
- code: invalid_sort_order
|
|
1482
|
+
message: Sort order should be either asc or desc.
|
|
1483
|
+
invalid_time:
|
|
1484
|
+
summary: '`time_gte` is not a timestamp'
|
|
1485
|
+
value:
|
|
1486
|
+
errors:
|
|
1487
|
+
- code: invalid_field
|
|
1488
|
+
message: 'The value provided for the field: ''time_gte'' is invalid.'
|
|
1489
|
+
invalid_page_size:
|
|
1490
|
+
summary: '`pageSize` is 0 or not a number'
|
|
1491
|
+
value:
|
|
1492
|
+
errors:
|
|
1493
|
+
- code: invalid_url
|
|
1494
|
+
message: pageSize is not valid.
|
|
1468
1495
|
'401':
|
|
1469
1496
|
$ref: '#/components/responses/401-unauthorized'
|
|
1470
1497
|
'403':
|
|
@@ -1506,14 +1533,16 @@ paths:
|
|
|
1506
1533
|
- name: time_gte
|
|
1507
1534
|
in: query
|
|
1508
1535
|
required: true
|
|
1509
|
-
description:
|
|
1536
|
+
description: |-
|
|
1537
|
+
Start of the deletion window. Must be earlier than `time_lte`; omitting either bound
|
|
1538
|
+
returns `400` `invalid_query_params`.
|
|
1510
1539
|
schema:
|
|
1511
1540
|
type: string
|
|
1512
1541
|
format: date-time
|
|
1513
1542
|
- name: time_lte
|
|
1514
1543
|
in: query
|
|
1515
1544
|
required: true
|
|
1516
|
-
description: End of the deletion window.
|
|
1545
|
+
description: End of the deletion window. Neither bound may be in the future.
|
|
1517
1546
|
schema:
|
|
1518
1547
|
type: string
|
|
1519
1548
|
format: date-time
|
|
@@ -1521,7 +1550,9 @@ paths:
|
|
|
1521
1550
|
'202':
|
|
1522
1551
|
description: Deletion request accepted for asynchronous processing. No body.
|
|
1523
1552
|
'400':
|
|
1524
|
-
description:
|
|
1553
|
+
description: |-
|
|
1554
|
+
Missing or invalid window parameters — a bound is omitted, a bound is in the future,
|
|
1555
|
+
or `time_gte` is not before `time_lte`. Nothing is deleted.
|
|
1525
1556
|
content:
|
|
1526
1557
|
application/json:
|
|
1527
1558
|
schema:
|
|
@@ -1532,6 +1563,21 @@ paths:
|
|
|
1532
1563
|
errors:
|
|
1533
1564
|
- code: invalid_query_params
|
|
1534
1565
|
message: time_gte query parameter is required for deleting logs.
|
|
1566
|
+
missing_time_lte:
|
|
1567
|
+
value:
|
|
1568
|
+
errors:
|
|
1569
|
+
- code: invalid_query_params
|
|
1570
|
+
message: time_lte query parameter is required for deleting logs.
|
|
1571
|
+
future_window:
|
|
1572
|
+
value:
|
|
1573
|
+
errors:
|
|
1574
|
+
- code: invalid_query_params
|
|
1575
|
+
message: time_gte and time_lte cannot be in the future.
|
|
1576
|
+
inverted_window:
|
|
1577
|
+
value:
|
|
1578
|
+
errors:
|
|
1579
|
+
- code: invalid_query_params
|
|
1580
|
+
message: time_gte must be before time_lte.
|
|
1535
1581
|
'401':
|
|
1536
1582
|
$ref: '#/components/responses/401-unauthorized'
|
|
1537
1583
|
'403':
|
|
@@ -1553,8 +1599,12 @@ paths:
|
|
|
1553
1599
|
`recordId` with the log-data endpoint to read the payload it processed.
|
|
1554
1600
|
|
|
1555
1601
|
When the invocation is missing or not visible under the caller's integration ACL,
|
|
1556
|
-
the endpoint returns `204 No Content`.
|
|
1557
|
-
|
|
1602
|
+
the endpoint returns `204 No Content`. The trace is written asynchronously: for a few
|
|
1603
|
+
seconds after `POST /v1/tools/{_id}/invoke` returns, a valid `invocationId` also answers
|
|
1604
|
+
`204`, and the header can then appear before its step records, with an empty `steps`
|
|
1605
|
+
array. Re-read before treating a run as unknown or as failed before its first step.
|
|
1606
|
+
`404` applies only to an unknown or inaccessible Tool `_id`. A malformed `executionId`
|
|
1607
|
+
returns `422`. Sandbox Tools return `403`.
|
|
1558
1608
|
parameters:
|
|
1559
1609
|
- name: _id
|
|
1560
1610
|
in: path
|
|
@@ -1630,7 +1680,9 @@ paths:
|
|
|
1630
1680
|
logMode: debug
|
|
1631
1681
|
steps: []
|
|
1632
1682
|
'204':
|
|
1633
|
-
description:
|
|
1683
|
+
description: |-
|
|
1684
|
+
Invocation not found, not visible under the caller's integration ACL, or not yet
|
|
1685
|
+
written — a run answers `204` for a few seconds after the invoke returns.
|
|
1634
1686
|
'401':
|
|
1635
1687
|
$ref: '#/components/responses/401-unauthorized'
|
|
1636
1688
|
'403':
|
|
@@ -1801,9 +1853,17 @@ paths:
|
|
|
1801
1853
|
came out — selected by `_expOrImpId`, `stage`, `groupId`, and `recordId` from the
|
|
1802
1854
|
trace-metadata response. The input and output bubbles store their payload under the
|
|
1803
1855
|
`schemaValidation` stage; a lookup step stores the response it merged under
|
|
1804
|
-
`responseMapping
|
|
1805
|
-
|
|
1806
|
-
|
|
1856
|
+
`responseMapping`; a step that makes an outbound API call, such as an HTTP lookup,
|
|
1857
|
+
stores each request it sent under `apiCall`, one entry per attempt, so a retried
|
|
1858
|
+
request shows each failed attempt before the one that succeeded. Large payloads are
|
|
1859
|
+
not inlined — the entry carries an `externalReference` whose `s3Key` you pass to the
|
|
1860
|
+
signed-URL endpoint.
|
|
1861
|
+
|
|
1862
|
+
A selector that matches nothing returns `200` with an empty `logs` array — a stage
|
|
1863
|
+
the step never ran for that record, a `groupId` from another step, and a step that
|
|
1864
|
+
recorded no request all look the same. Payloads are written after the trace's step
|
|
1865
|
+
records, so for a run that just finished an empty array can also mean the payload has
|
|
1866
|
+
not landed yet; re-query before concluding nothing was stored.
|
|
1807
1867
|
|
|
1808
1868
|
For nested Tools, set `stage` to `tool` with the nested ToolImport id to fetch the
|
|
1809
1869
|
composed input/output payload.
|
|
@@ -1886,6 +1946,43 @@ paths:
|
|
|
1886
1946
|
orderId: SO-1043
|
|
1887
1947
|
errors: []
|
|
1888
1948
|
errors: []
|
|
1949
|
+
apiCall:
|
|
1950
|
+
summary: HTTP lookup requests — a failed attempt, then the retry that succeeded
|
|
1951
|
+
value:
|
|
1952
|
+
logs:
|
|
1953
|
+
- log:
|
|
1954
|
+
apiCallTraceKeyId: M3bsB9KB
|
|
1955
|
+
stage: apiCall
|
|
1956
|
+
apiCallType: lookupexport
|
|
1957
|
+
status: failed
|
|
1958
|
+
request:
|
|
1959
|
+
method: GET
|
|
1960
|
+
uri: https://api.example.com/v1/orders
|
|
1961
|
+
headers:
|
|
1962
|
+
accept: application/json
|
|
1963
|
+
Authorization: Bearer ********
|
|
1964
|
+
response:
|
|
1965
|
+
statusCode: 503
|
|
1966
|
+
headers:
|
|
1967
|
+
content-type: text/html
|
|
1968
|
+
body: <html><head><title>503 Service Temporarily Unavailable</title></head></html>
|
|
1969
|
+
- log:
|
|
1970
|
+
apiCallTraceKeyId: cI09faBo
|
|
1971
|
+
stage: apiCall
|
|
1972
|
+
apiCallType: lookupexport
|
|
1973
|
+
status: success
|
|
1974
|
+
request:
|
|
1975
|
+
method: GET
|
|
1976
|
+
uri: https://api.example.com/v1/orders
|
|
1977
|
+
headers:
|
|
1978
|
+
accept: application/json
|
|
1979
|
+
Authorization: Bearer ********
|
|
1980
|
+
response:
|
|
1981
|
+
statusCode: 200
|
|
1982
|
+
headers:
|
|
1983
|
+
content-type: application/json; charset=utf-8
|
|
1984
|
+
body: '[{"_id":"6a50f177a8d85436a4a890db","name":"SO-1043"}]'
|
|
1985
|
+
errors: []
|
|
1889
1986
|
noMatch:
|
|
1890
1987
|
summary: Selector matched no stored payload
|
|
1891
1988
|
value:
|
|
@@ -3394,7 +3491,11 @@ components:
|
|
|
3394
3491
|
- For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
|
|
3395
3492
|
- For object fields: Set to the object property name, then add child mappings in the 'mappings' array
|
|
3396
3493
|
- For array fields: Set to the array property name, then configure 'buildArrayHelper'
|
|
3397
|
-
-
|
|
3494
|
+
- Two structural blanks: the inner array item of an array of arrays (it has no field name),
|
|
3495
|
+
and the single top-level `objectarray` item of a `rows [ ]` mapping (the array output
|
|
3496
|
+
structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
3497
|
+
already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
|
|
3498
|
+
name changes the output; it does not complete the row
|
|
3398
3499
|
|
|
3399
3500
|
IMPORTANT: Do NOT use dot notation (e.g., "customer.firstName") in this field. Instead, create proper
|
|
3400
3501
|
hierarchical structure with nested mappings:
|
|
@@ -3409,8 +3510,9 @@ components:
|
|
|
3409
3510
|
}
|
|
3410
3511
|
```
|
|
3411
3512
|
|
|
3412
|
-
When parsing existing mappings, empty
|
|
3413
|
-
|
|
3513
|
+
When parsing existing mappings, an empty `generate` inside a parent array is an inner array; an
|
|
3514
|
+
empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
|
|
3515
|
+
structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
|
|
3414
3516
|
examples:
|
|
3415
3517
|
- name
|
|
3416
3518
|
- address
|
|
@@ -4391,6 +4493,12 @@ components:
|
|
|
4391
4493
|
object-array row left with no source, no destination and no remaining child `mappings` or
|
|
4392
4494
|
`buildArrayHelper` entries; a row with only one of the two, and a source-less, destination-less
|
|
4393
4495
|
wrapper that still has children, are kept.
|
|
4496
|
+
|
|
4497
|
+
The shape of the array is the mapper's **JSON structure**. Named top-level items produce an object
|
|
4498
|
+
record (`record { }`). Exactly one top-level item with `dataType: objectarray` and no `generate` is
|
|
4499
|
+
the `rows [ ]` structure: the mapped record is an array — usually one element per element of the
|
|
4500
|
+
source array that root's `buildArrayHelper` iterates — Handlebars templates such as `http.body`
|
|
4501
|
+
bind it as `rows` instead of `record`, and the mapping editor shows that row's destination disabled.
|
|
4394
4502
|
x-celigo-ai-guidance:
|
|
4395
4503
|
- |-
|
|
4396
4504
|
Rows that exist in the saved document — including `Draft` and `Inactive` rows and
|
|
@@ -4399,6 +4507,14 @@ components:
|
|
|
4399
4507
|
them. Only a row with neither source nor destination — and, for an object or
|
|
4400
4508
|
object-array row, no remaining children — can be left out; the save would drop it
|
|
4401
4509
|
anyway. A wrapper with children but no `generate` is kept by the save, so keep it.
|
|
4510
|
+
- |-
|
|
4511
|
+
A single unnamed top-level `objectarray` item is the `rows [ ]` JSON structure, not a
|
|
4512
|
+
missing destination: keep it unnamed when editing (naming it turns the output into an
|
|
4513
|
+
object, and a template that iterates `rows` then renders nothing), and author that
|
|
4514
|
+
shape only when the request body must be an array or a template iterates `rows`.
|
|
4515
|
+
The editor's save check accepts the unnamed root only in the `rows [ ]` structure;
|
|
4516
|
+
any other row with a source and no `generate` fails with "One or more destination
|
|
4517
|
+
field values not entered".
|
|
4402
4518
|
items:
|
|
4403
4519
|
type: object
|
|
4404
4520
|
properties:
|
|
@@ -4414,7 +4530,11 @@ components:
|
|
|
4414
4530
|
- For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
|
|
4415
4531
|
- For object fields: Set to the object property name, then add child mappings in the 'mappings' array
|
|
4416
4532
|
- For array fields: Set to the array property name, then configure 'buildArrayHelper'
|
|
4417
|
-
-
|
|
4533
|
+
- Two structural blanks: the inner array item of an array of arrays (it has no field name),
|
|
4534
|
+
and the single top-level `objectarray` item of a `rows [ ]` mapping (the array output
|
|
4535
|
+
structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
4536
|
+
already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
|
|
4537
|
+
name changes the output; it does not complete the row
|
|
4418
4538
|
|
|
4419
4539
|
IMPORTANT: Do NOT use dot notation (e.g., "customer.firstName") in this field. Instead, create proper
|
|
4420
4540
|
hierarchical structure with nested mappings:
|
|
@@ -4429,8 +4549,9 @@ components:
|
|
|
4429
4549
|
}
|
|
4430
4550
|
```
|
|
4431
4551
|
|
|
4432
|
-
When parsing existing mappings, empty
|
|
4433
|
-
|
|
4552
|
+
When parsing existing mappings, an empty `generate` inside a parent array is an inner array; an
|
|
4553
|
+
empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
|
|
4554
|
+
structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
|
|
4434
4555
|
examples:
|
|
4435
4556
|
- name
|
|
4436
4557
|
- address
|
|
@@ -24981,6 +25102,23 @@ components:
|
|
|
24981
25102
|
per-mode contract. Handlebars expressions in ``extract`` always
|
|
24982
25103
|
reference ``{{record.field}}`` regardless — only JSONPath
|
|
24983
25104
|
behavior flips with ``inputContext``.
|
|
25105
|
+
- |-
|
|
25106
|
+
## JSON structure — record { } or rows [ ]
|
|
25107
|
+
|
|
25108
|
+
The shape of this array is the mapper's JSON structure. Named
|
|
25109
|
+
top-level items produce an object record; ``http.body`` and the
|
|
25110
|
+
other templates bind it as ``record``. Exactly one top-level item
|
|
25111
|
+
with ``dataType: objectarray`` and no ``generate`` is the
|
|
25112
|
+
``rows [ ]`` structure: the mapped record is an array — one
|
|
25113
|
+
element per element the item's ``buildArrayHelper`` iterates —
|
|
25114
|
+
and templates bind it as ``rows`` (``{{#each rows}}``), with
|
|
25115
|
+
``record.*`` undefined. The mapping editor shows that row's
|
|
25116
|
+
destination disabled; its save check accepts the unnamed root
|
|
25117
|
+
only in the ``rows [ ]`` structure and fails any other row that
|
|
25118
|
+
has a source and no ``generate`` with "One or more destination
|
|
25119
|
+
field values not entered". Keep the root unnamed when editing a
|
|
25120
|
+
``rows [ ]`` mapping — naming it turns the output into an object
|
|
25121
|
+
and a ``{{#each rows}}`` body renders nothing.
|
|
24984
25122
|
- |-
|
|
24985
25123
|
## IMPORT-SPECIFIC BEHAVIOR
|
|
24986
25124
|
|
|
@@ -37273,7 +37411,10 @@ components:
|
|
|
37273
37411
|
- '2026-09-22T03:27:29.411000Z'
|
|
37274
37412
|
timeTaken:
|
|
37275
37413
|
type: integer
|
|
37276
|
-
description:
|
|
37414
|
+
description: |-
|
|
37415
|
+
Wall-clock duration of the invocation in milliseconds, from request to response.
|
|
37416
|
+
It also counts time spent outside the steps, so it exceeds the sum of the step
|
|
37417
|
+
`timeTaken` values on the trace.
|
|
37277
37418
|
examples:
|
|
37278
37419
|
- 1025
|
|
37279
37420
|
logMode:
|
|
@@ -37446,7 +37587,10 @@ components:
|
|
|
37446
37587
|
- '2026-09-22T03:27:29.411000Z'
|
|
37447
37588
|
timeTaken:
|
|
37448
37589
|
type: integer
|
|
37449
|
-
description:
|
|
37590
|
+
description: |-
|
|
37591
|
+
Wall-clock duration of the invocation in milliseconds, from request to response.
|
|
37592
|
+
It also counts time spent outside the steps, so it exceeds the sum of the step
|
|
37593
|
+
`timeTaken` values — use the step sum when apportioning time across steps.
|
|
37450
37594
|
examples:
|
|
37451
37595
|
- 1025
|
|
37452
37596
|
traceKey:
|
|
@@ -37492,7 +37636,8 @@ components:
|
|
|
37492
37636
|
type: array
|
|
37493
37637
|
description: |-
|
|
37494
37638
|
Step records in execution order — input bubble, branch steps, output bubble.
|
|
37495
|
-
Empty when the run failed before its first step.
|
|
37639
|
+
Empty when the run failed before its first step. Step records are written after
|
|
37640
|
+
the header, so a run read seconds after it finished can also return an empty array.
|
|
37496
37641
|
items:
|
|
37497
37642
|
$ref: '#/components/schemas/ToolInvocationStep'
|
|
37498
37643
|
ToolChildrenResponse:
|
|
@@ -37544,10 +37689,14 @@ components:
|
|
|
37544
37689
|
description: |-
|
|
37545
37690
|
Processing stage whose payload to fetch. The input and output bubbles store their
|
|
37546
37691
|
payload under `schemaValidation`; a lookup step stores the merged response under
|
|
37547
|
-
`responseMapping`;
|
|
37692
|
+
`responseMapping`; a step that makes an outbound API call, such as an HTTP lookup,
|
|
37693
|
+
stores each request it sent under `apiCall`; use `tool` for a nested ToolImport's
|
|
37694
|
+
composed payload. A stage the step never ran for this record returns an empty
|
|
37695
|
+
`logs` array, the same as a record that stored nothing.
|
|
37548
37696
|
examples:
|
|
37549
37697
|
- schemaValidation
|
|
37550
37698
|
- responseMapping
|
|
37699
|
+
- apiCall
|
|
37551
37700
|
- tool
|
|
37552
37701
|
groupId:
|
|
37553
37702
|
type: string
|
|
@@ -37573,12 +37722,19 @@ components:
|
|
|
37573
37722
|
Small payloads are inlined under `log`; a large payload is replaced by an
|
|
37574
37723
|
`externalReference[]` whose `source.s3Key` you pass to
|
|
37575
37724
|
`GET /v1/tools/{_id}/invocations/{executionId}/logs/signedURL` to download it.
|
|
37725
|
+
A bubble or mapping stage returns one entry per record; the `apiCall` stage
|
|
37726
|
+
returns one entry per request the step sent, in order, so a retried request shows
|
|
37727
|
+
each failed attempt before the one that succeeded.
|
|
37576
37728
|
items:
|
|
37577
37729
|
type: object
|
|
37578
37730
|
properties:
|
|
37579
37731
|
log:
|
|
37580
37732
|
type: object
|
|
37581
|
-
description:
|
|
37733
|
+
description: |-
|
|
37734
|
+
Inlined payload for the selected record and stage. Record-level stages such
|
|
37735
|
+
as `schemaValidation` and `responseMapping` carry the timestamp, selector echo
|
|
37736
|
+
and `input` / `output` / `errors`; the `apiCall` stage carries the request sent
|
|
37737
|
+
and the response received instead.
|
|
37582
37738
|
properties:
|
|
37583
37739
|
timestamp:
|
|
37584
37740
|
type: string
|
|
@@ -37628,6 +37784,71 @@ components:
|
|
|
37628
37784
|
items:
|
|
37629
37785
|
type: object
|
|
37630
37786
|
additionalProperties: true
|
|
37787
|
+
apiCallTraceKeyId:
|
|
37788
|
+
type: string
|
|
37789
|
+
description: Identifier of one request attempt. Present when `stage` is `apiCall`.
|
|
37790
|
+
examples:
|
|
37791
|
+
- M3bsB9KB
|
|
37792
|
+
apiCallType:
|
|
37793
|
+
type: string
|
|
37794
|
+
description: Kind of step that sent the request, such as a lookup export. Present when `stage` is `apiCall`.
|
|
37795
|
+
examples:
|
|
37796
|
+
- lookupexport
|
|
37797
|
+
status:
|
|
37798
|
+
type: string
|
|
37799
|
+
enum:
|
|
37800
|
+
- success
|
|
37801
|
+
- failed
|
|
37802
|
+
x-enumDescriptions:
|
|
37803
|
+
success: The attempt received a response the step accepted
|
|
37804
|
+
failed: The attempt was rejected or errored; a later entry may carry the retry
|
|
37805
|
+
description: Outcome of this request attempt. Present when `stage` is `apiCall`.
|
|
37806
|
+
request:
|
|
37807
|
+
type: object
|
|
37808
|
+
description: |-
|
|
37809
|
+
The request the step sent on this attempt — `method`, `uri` and `headers`.
|
|
37810
|
+
Credential headers are masked. Present when `stage` is `apiCall`.
|
|
37811
|
+
properties:
|
|
37812
|
+
method:
|
|
37813
|
+
type: string
|
|
37814
|
+
description: HTTP method of the attempt.
|
|
37815
|
+
uri:
|
|
37816
|
+
type: string
|
|
37817
|
+
description: Full URL the attempt called.
|
|
37818
|
+
headers:
|
|
37819
|
+
type: object
|
|
37820
|
+
additionalProperties: true
|
|
37821
|
+
description: Request headers as sent, with credential values masked.
|
|
37822
|
+
additionalProperties: true
|
|
37823
|
+
response:
|
|
37824
|
+
type: object
|
|
37825
|
+
description: |-
|
|
37826
|
+
The response this attempt received — `statusCode`, `headers`, and the raw
|
|
37827
|
+
`body` as a string when the endpoint sent one. Present when `stage` is
|
|
37828
|
+
`apiCall`.
|
|
37829
|
+
properties:
|
|
37830
|
+
statusCode:
|
|
37831
|
+
type: integer
|
|
37832
|
+
description: HTTP status the endpoint returned.
|
|
37833
|
+
headers:
|
|
37834
|
+
type: object
|
|
37835
|
+
additionalProperties: true
|
|
37836
|
+
description: Response headers as received.
|
|
37837
|
+
body:
|
|
37838
|
+
type: string
|
|
37839
|
+
description: Raw response body; JSON arrives as a serialized string.
|
|
37840
|
+
additionalProperties: true
|
|
37841
|
+
if:
|
|
37842
|
+
properties:
|
|
37843
|
+
stage:
|
|
37844
|
+
const: apiCall
|
|
37845
|
+
required:
|
|
37846
|
+
- stage
|
|
37847
|
+
then:
|
|
37848
|
+
required:
|
|
37849
|
+
- status
|
|
37850
|
+
- request
|
|
37851
|
+
- response
|
|
37631
37852
|
additionalProperties: true
|
|
37632
37853
|
externalReference:
|
|
37633
37854
|
type: array
|
package/package.json
CHANGED