@celigo/api-specs 0.2.83 → 0.2.85
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 +286 -34
- package/dist/asynchelper.yml +286 -34
- package/dist/export.yml +297 -41
- package/dist/import.yml +297 -40
- package/dist/tool.yml +577 -75
- package/package.json +1 -1
- package/schemas.json +14 -4
package/dist/import.yml
CHANGED
|
@@ -294,12 +294,11 @@ paths:
|
|
|
294
294
|
summary: Patch an import
|
|
295
295
|
description: |-
|
|
296
296
|
Partially updates an import using a JSON Patch document (RFC 6902).
|
|
297
|
-
Only the
|
|
298
|
-
whitelisted path:
|
|
297
|
+
Only the following whitelisted path is accepted:
|
|
299
298
|
|
|
300
|
-
| Path | Description |
|
|
301
|
-
|
|
302
|
-
| `/debugUntil` |
|
|
299
|
+
| Path | Operations | Description |
|
|
300
|
+
|------|------------|-------------|
|
|
301
|
+
| `/debugUntil` | `replace`, `add`, `remove` | Step debug-capture expiry (ISO-8601, at most 3600 seconds from now — a later value is rejected with 422 `update_not_allowed`); `remove` stops capture and succeeds even when the field is absent |
|
|
303
302
|
|
|
304
303
|
All other paths are rejected with `422`.
|
|
305
304
|
operationId: patchImport
|
|
@@ -12628,7 +12627,8 @@ components:
|
|
|
12628
12627
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
12629
12628
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
12630
12629
|
action). Omitting the key entirely means no fallback — the field is left out of the
|
|
12631
|
-
output when the extract is empty (the UI's "Do nothing" action).
|
|
12630
|
+
output when the extract is empty (the UI's "Do nothing" action). Failing the record
|
|
12631
|
+
instead is `conditional.when: fail_record_when_empty`, which excludes a default.
|
|
12632
12632
|
x-celigo-ai-guidance:
|
|
12633
12633
|
- |-
|
|
12634
12634
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
@@ -12637,6 +12637,12 @@ components:
|
|
|
12637
12637
|
Preserve them verbatim when editing or migrating a mapping — dropping
|
|
12638
12638
|
the key changes runtime behavior from "use null/empty string as
|
|
12639
12639
|
default value" to "do nothing" (field omitted from the output).
|
|
12640
|
+
- |-
|
|
12641
|
+
The four "Action to take if source field has no value" choices map to:
|
|
12642
|
+
do nothing → no `default` key (optionally `conditional.when:
|
|
12643
|
+
extract_not_empty`); use null → `"default": null`; use empty string or
|
|
12644
|
+
a custom value → `"default": "<value>"`; cause the record to fail →
|
|
12645
|
+
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
12640
12646
|
examples:
|
|
12641
12647
|
- N/A
|
|
12642
12648
|
- '0'
|
|
@@ -12969,6 +12975,22 @@ components:
|
|
|
12969
12975
|
- $.order.lineItems[*]
|
|
12970
12976
|
- $.parents[*].children[*]
|
|
12971
12977
|
- $
|
|
12978
|
+
name:
|
|
12979
|
+
type: string
|
|
12980
|
+
maxLength: 200
|
|
12981
|
+
description: |
|
|
12982
|
+
Display label for this source object in the mapper, so the sources of
|
|
12983
|
+
an object array can be told apart instead of all showing as `$`.
|
|
12984
|
+
Has no effect at runtime; stored only when non-empty.
|
|
12985
|
+
x-celigo-ai-guidance:
|
|
12986
|
+
- |-
|
|
12987
|
+
Carry an existing `name` through every edit — it is the user's label
|
|
12988
|
+
for the tab, and an entry sent without it loses the label. Duplicate
|
|
12989
|
+
names across entries are allowed. Set one only when the user names
|
|
12990
|
+
the source object; never invent labels.
|
|
12991
|
+
examples:
|
|
12992
|
+
- Billing address
|
|
12993
|
+
- Shipping address
|
|
12972
12994
|
sourceDataType:
|
|
12973
12995
|
type: string
|
|
12974
12996
|
description: |
|
|
@@ -13017,17 +13039,31 @@ components:
|
|
|
13017
13039
|
type: object
|
|
13018
13040
|
description: |
|
|
13019
13041
|
Defines conditional rules for including each array element in the result.
|
|
13042
|
+
x-celigo-ai-guidance:
|
|
13043
|
+
- |-
|
|
13044
|
+
Judged against this entry's own `extract` (the array source). The
|
|
13045
|
+
design scopes the UI's tab-level "Action to take if source field has
|
|
13046
|
+
no value" to copy-as-is tabs (no child `mappings`); the API accepts
|
|
13047
|
+
`fail_record_when_empty` on a mapped entry as well, and the mapper
|
|
13048
|
+
processor honors it there — the record fails when that array is
|
|
13049
|
+
missing or empty (`errors[]` entry `code: extract_empty`, `fatal:
|
|
13050
|
+
true`, message `<generate>: Source field has no value`; probed
|
|
13051
|
+
2026-10-09). Say so when writing it on a mapped entry: the user may
|
|
13052
|
+
not find the setting in the mapper's tab. To fail on an empty field
|
|
13053
|
+
inside each element, set the action on that child mapping instead.
|
|
13020
13054
|
properties:
|
|
13021
13055
|
when:
|
|
13022
13056
|
type: string
|
|
13023
13057
|
description: |
|
|
13024
|
-
|
|
13025
|
-
|
|
13026
|
-
|
|
13058
|
+
Condition judged on the entry's extract — skip the elements the
|
|
13059
|
+
extract does not return, or fail the whole record when the source
|
|
13060
|
+
array is missing or empty.
|
|
13027
13061
|
enum:
|
|
13028
13062
|
- extract_not_empty
|
|
13063
|
+
- fail_record_when_empty
|
|
13029
13064
|
x-enumDescriptions:
|
|
13030
|
-
extract_not_empty: Include
|
|
13065
|
+
extract_not_empty: Include an array element only when the extract returns a non-empty value for it
|
|
13066
|
+
fail_record_when_empty: Fail the record when the entry's source array is missing or empty
|
|
13031
13067
|
examples:
|
|
13032
13068
|
- extract_not_empty
|
|
13033
13069
|
mappings:
|
|
@@ -13127,6 +13163,20 @@ components:
|
|
|
13127
13163
|
extract: $.price
|
|
13128
13164
|
dataType: number
|
|
13129
13165
|
status: Active
|
|
13166
|
+
if:
|
|
13167
|
+
properties:
|
|
13168
|
+
conditional:
|
|
13169
|
+
properties:
|
|
13170
|
+
when:
|
|
13171
|
+
const: fail_record_when_empty
|
|
13172
|
+
required:
|
|
13173
|
+
- when
|
|
13174
|
+
required:
|
|
13175
|
+
- conditional
|
|
13176
|
+
then:
|
|
13177
|
+
not:
|
|
13178
|
+
required:
|
|
13179
|
+
- default
|
|
13130
13180
|
status:
|
|
13131
13181
|
type: string
|
|
13132
13182
|
description: |
|
|
@@ -13134,9 +13184,10 @@ components:
|
|
|
13134
13184
|
Required on every mapping entry. Controls whether the mapping is applied.
|
|
13135
13185
|
|
|
13136
13186
|
**Guidance**
|
|
13137
|
-
|
|
13138
|
-
|
|
13139
|
-
|
|
13187
|
+
Only `Active` rows run. `Draft` and `Inactive` rows keep their
|
|
13188
|
+
configuration, are saved with minimal validation, and are skipped at
|
|
13189
|
+
runtime and in preview; a non-Active parent skips its whole subtree
|
|
13190
|
+
whatever its children say. The API rejects a mapping missing this field
|
|
13140
13191
|
(validation error: "Mapping object must have status field present.").
|
|
13141
13192
|
x-celigo-ai-guidance:
|
|
13142
13193
|
- |-
|
|
@@ -13145,12 +13196,28 @@ components:
|
|
|
13145
13196
|
field validations. The value is case-sensitive. The API rejects:
|
|
13146
13197
|
- Missing field: `[status_field_absent] Mapping object must have status field present.`
|
|
13147
13198
|
- Wrong case (e.g. `"active"`): `[invalid_status_enums] active is not a valid enum for status field.`
|
|
13199
|
+
- |-
|
|
13200
|
+
`"Inactive"` is the user's "Set inactive" on a row: use it only when
|
|
13201
|
+
asked to disable or park a row, never to mean incomplete (that is
|
|
13202
|
+
`"Draft"`). Setting a parent `Inactive` means no `Active` row may
|
|
13203
|
+
remain under it — the save rejects an `Active` row under an
|
|
13204
|
+
`Inactive` parent (`[inactive_parent_active_child]` on `mappings`,
|
|
13205
|
+
no message text) and never cascades or promotes on its own; `Draft`
|
|
13206
|
+
descendants are kept as they are, and a `Draft` parent does not gate
|
|
13207
|
+
its children. The UI's Set inactive on a parent marks the parent and
|
|
13208
|
+
every child `Inactive` (IO-166197). Re-enabling a child
|
|
13209
|
+
means re-enabling its ancestors in the same payload. Edits that keep
|
|
13210
|
+
existing rows must carry their stored status forward — rewriting a
|
|
13211
|
+
`Draft` or `Inactive` row to `Active` turns a row the user parked
|
|
13212
|
+
back on.
|
|
13148
13213
|
enum:
|
|
13149
13214
|
- Active
|
|
13150
13215
|
- Draft
|
|
13216
|
+
- Inactive
|
|
13151
13217
|
x-enumDescriptions:
|
|
13152
|
-
Active: The mapping is enabled and applied during processing
|
|
13153
|
-
Draft: In-progress mapping; saved without the Active-only field validations
|
|
13218
|
+
Active: The mapping is enabled and applied during processing
|
|
13219
|
+
Draft: In-progress mapping; saved without the Active-only field validations and skipped at runtime
|
|
13220
|
+
Inactive: Disabled by the user; configuration kept, skipped at runtime and in preview
|
|
13154
13221
|
examples:
|
|
13155
13222
|
- Active
|
|
13156
13223
|
conditional:
|
|
@@ -13179,6 +13246,10 @@ components:
|
|
|
13179
13246
|
- `extract_not_empty`: Apply only when the extract field returns a value
|
|
13180
13247
|
Useful for conditional mapping based on input data availability
|
|
13181
13248
|
|
|
13249
|
+
- `fail_record_when_empty`: Fail the record when the extract field returns
|
|
13250
|
+
no value (the UI's "Cause record to fail" action when the source field
|
|
13251
|
+
has no value)
|
|
13252
|
+
|
|
13182
13253
|
**Example**
|
|
13183
13254
|
```json
|
|
13184
13255
|
{
|
|
@@ -13191,28 +13262,75 @@ components:
|
|
|
13191
13262
|
}
|
|
13192
13263
|
}
|
|
13193
13264
|
```
|
|
13265
|
+
x-celigo-ai-guidance:
|
|
13266
|
+
- |-
|
|
13267
|
+
`when` holds one value, and two different settings share it: the
|
|
13268
|
+
composite-import operation gate (`record_created` / `record_updated`,
|
|
13269
|
+
the UI's "Only perform mapping when") and the empty-source action
|
|
13270
|
+
(`extract_not_empty` / `fail_record_when_empty`, the UI's "Action to
|
|
13271
|
+
take if source field has no value"). A row cannot carry both — writing
|
|
13272
|
+
one replaces the other and the save succeeds, so a composite import
|
|
13273
|
+
row that needs both has to choose. Never author `fail_record_when_empty`
|
|
13274
|
+
on a row that already carries `record_created` or `record_updated`.
|
|
13194
13275
|
properties:
|
|
13195
13276
|
when:
|
|
13196
13277
|
type: string
|
|
13197
13278
|
description: |
|
|
13198
|
-
|
|
13199
|
-
-
|
|
13200
|
-
|
|
13201
|
-
|
|
13279
|
+
Condition that gates this mapping — either an operation gate on a
|
|
13280
|
+
composite (create-or-update) import or the action to take when the
|
|
13281
|
+
extract returns no value. Empty means null, undefined or an empty
|
|
13282
|
+
string; `0`, `false` and whitespace are values.
|
|
13283
|
+
x-celigo-ai-guidance:
|
|
13284
|
+
- |-
|
|
13285
|
+
`fail_record_when_empty` is the fourth "Action to take if source field
|
|
13286
|
+
has no value" and is mutually exclusive with the other three: send it
|
|
13287
|
+
with no `default` key. A `default`, a `lookupName` or a `hardCodedValue`
|
|
13288
|
+
on the same row — or a `default` on a `buildArrayHelper` entry — is
|
|
13289
|
+
rejected at save with `[unsupported_mapping] "<key>" and conditional.when
|
|
13290
|
+
"fail_record_when_empty" cannot be present in mapping simultaneously.`
|
|
13291
|
+
(the lookup variant adds `Use lookup "allowFailures" instead.`);
|
|
13292
|
+
lookups fail through `allowFailures: false`, and a hard-coded row
|
|
13293
|
+
always has a value. At runtime an empty extract fails the record with
|
|
13294
|
+
an `errors[]` entry `{code: "extract_empty", fatal: true, source:
|
|
13295
|
+
"mapping", message: "<generate>: Source field has no value"}`
|
|
13296
|
+
("Input field has no value" in a Transformation 2.0); `0` and `false`
|
|
13297
|
+
are values and map through.
|
|
13202
13298
|
enum:
|
|
13203
13299
|
- record_created
|
|
13204
13300
|
- record_updated
|
|
13205
13301
|
- extract_not_empty
|
|
13302
|
+
- fail_record_when_empty
|
|
13206
13303
|
x-enumDescriptions:
|
|
13207
|
-
record_created: Apply this mapping only when creating a new record
|
|
13208
|
-
record_updated: Apply this mapping only when updating an existing record
|
|
13209
|
-
extract_not_empty: Apply this mapping only when the extract field returns a non-empty value
|
|
13304
|
+
record_created: Apply this mapping only when creating a new record
|
|
13305
|
+
record_updated: Apply this mapping only when updating an existing record
|
|
13306
|
+
extract_not_empty: Apply this mapping only when the extract field returns a non-empty value
|
|
13307
|
+
fail_record_when_empty: Fail the record when the extract field returns no value
|
|
13210
13308
|
examples:
|
|
13211
13309
|
- record_created
|
|
13212
13310
|
- record_updated
|
|
13213
13311
|
- extract_not_empty
|
|
13312
|
+
- fail_record_when_empty
|
|
13214
13313
|
required:
|
|
13215
13314
|
- dataType
|
|
13315
|
+
if:
|
|
13316
|
+
properties:
|
|
13317
|
+
conditional:
|
|
13318
|
+
properties:
|
|
13319
|
+
when:
|
|
13320
|
+
const: fail_record_when_empty
|
|
13321
|
+
required:
|
|
13322
|
+
- when
|
|
13323
|
+
required:
|
|
13324
|
+
- conditional
|
|
13325
|
+
then:
|
|
13326
|
+
not:
|
|
13327
|
+
anyOf:
|
|
13328
|
+
- required:
|
|
13329
|
+
- default
|
|
13330
|
+
- required:
|
|
13331
|
+
- lookupName
|
|
13332
|
+
- required:
|
|
13333
|
+
- hardCodedValue
|
|
13216
13334
|
Mappings:
|
|
13217
13335
|
type: array
|
|
13218
13336
|
description: |
|
|
@@ -13236,6 +13354,20 @@ components:
|
|
|
13236
13354
|
|
|
13237
13355
|
The system will process these nested structures recursively during runtime, ensuring proper construction
|
|
13238
13356
|
of complex hierarchical data while maintaining excellent performance.
|
|
13357
|
+
|
|
13358
|
+
On save, a leaf row with neither a source (`extract`, `hardCodedValue`, `lookupName`) nor a
|
|
13359
|
+
destination (`generate`) is dropped silently, at every nesting level, and so is an object or
|
|
13360
|
+
object-array row left with no source, no destination and no remaining child `mappings` or
|
|
13361
|
+
`buildArrayHelper` entries; a row with only one of the two, and a source-less, destination-less
|
|
13362
|
+
wrapper that still has children, are kept.
|
|
13363
|
+
x-celigo-ai-guidance:
|
|
13364
|
+
- |-
|
|
13365
|
+
Rows that exist in the saved document — including `Draft` and `Inactive` rows and
|
|
13366
|
+
rows with only a source or only a destination — are the user's state: an edit that
|
|
13367
|
+
re-sends the tree must carry them through unchanged unless the user asked to change
|
|
13368
|
+
them. Only a row with neither source nor destination — and, for an object or
|
|
13369
|
+
object-array row, no remaining children — can be left out; the save would drop it
|
|
13370
|
+
anyway. A wrapper with children but no `generate` is kept by the save, so keep it.
|
|
13239
13371
|
items:
|
|
13240
13372
|
type: object
|
|
13241
13373
|
properties:
|
|
@@ -13515,7 +13647,8 @@ components:
|
|
|
13515
13647
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
13516
13648
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
13517
13649
|
action). Omitting the key entirely means no fallback — the field is left out of the
|
|
13518
|
-
output when the extract is empty (the UI's "Do nothing" action).
|
|
13650
|
+
output when the extract is empty (the UI's "Do nothing" action). Failing the record
|
|
13651
|
+
instead is `conditional.when: fail_record_when_empty`, which excludes a default.
|
|
13519
13652
|
x-celigo-ai-guidance:
|
|
13520
13653
|
- |-
|
|
13521
13654
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
@@ -13524,6 +13657,12 @@ components:
|
|
|
13524
13657
|
Preserve them verbatim when editing or migrating a mapping — dropping
|
|
13525
13658
|
the key changes runtime behavior from "use null/empty string as
|
|
13526
13659
|
default value" to "do nothing" (field omitted from the output).
|
|
13660
|
+
- |-
|
|
13661
|
+
The four "Action to take if source field has no value" choices map to:
|
|
13662
|
+
do nothing → no `default` key (optionally `conditional.when:
|
|
13663
|
+
extract_not_empty`); use null → `"default": null`; use empty string or
|
|
13664
|
+
a custom value → `"default": "<value>"`; cause the record to fail →
|
|
13665
|
+
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
13527
13666
|
examples:
|
|
13528
13667
|
- N/A
|
|
13529
13668
|
- '0'
|
|
@@ -13856,6 +13995,22 @@ components:
|
|
|
13856
13995
|
- $.order.lineItems[*]
|
|
13857
13996
|
- $.parents[*].children[*]
|
|
13858
13997
|
- $
|
|
13998
|
+
name:
|
|
13999
|
+
type: string
|
|
14000
|
+
maxLength: 200
|
|
14001
|
+
description: |
|
|
14002
|
+
Display label for this source object in the mapper, so the sources of
|
|
14003
|
+
an object array can be told apart instead of all showing as `$`.
|
|
14004
|
+
Has no effect at runtime; stored only when non-empty.
|
|
14005
|
+
x-celigo-ai-guidance:
|
|
14006
|
+
- |-
|
|
14007
|
+
Carry an existing `name` through every edit — it is the user's label
|
|
14008
|
+
for the tab, and an entry sent without it loses the label. Duplicate
|
|
14009
|
+
names across entries are allowed. Set one only when the user names
|
|
14010
|
+
the source object; never invent labels.
|
|
14011
|
+
examples:
|
|
14012
|
+
- Billing address
|
|
14013
|
+
- Shipping address
|
|
13859
14014
|
sourceDataType:
|
|
13860
14015
|
type: string
|
|
13861
14016
|
description: |
|
|
@@ -13904,17 +14059,31 @@ components:
|
|
|
13904
14059
|
type: object
|
|
13905
14060
|
description: |
|
|
13906
14061
|
Defines conditional rules for including each array element in the result.
|
|
14062
|
+
x-celigo-ai-guidance:
|
|
14063
|
+
- |-
|
|
14064
|
+
Judged against this entry's own `extract` (the array source). The
|
|
14065
|
+
design scopes the UI's tab-level "Action to take if source field has
|
|
14066
|
+
no value" to copy-as-is tabs (no child `mappings`); the API accepts
|
|
14067
|
+
`fail_record_when_empty` on a mapped entry as well, and the mapper
|
|
14068
|
+
processor honors it there — the record fails when that array is
|
|
14069
|
+
missing or empty (`errors[]` entry `code: extract_empty`, `fatal:
|
|
14070
|
+
true`, message `<generate>: Source field has no value`; probed
|
|
14071
|
+
2026-10-09). Say so when writing it on a mapped entry: the user may
|
|
14072
|
+
not find the setting in the mapper's tab. To fail on an empty field
|
|
14073
|
+
inside each element, set the action on that child mapping instead.
|
|
13907
14074
|
properties:
|
|
13908
14075
|
when:
|
|
13909
14076
|
type: string
|
|
13910
14077
|
description: |
|
|
13911
|
-
|
|
13912
|
-
|
|
13913
|
-
|
|
14078
|
+
Condition judged on the entry's extract — skip the elements the
|
|
14079
|
+
extract does not return, or fail the whole record when the source
|
|
14080
|
+
array is missing or empty.
|
|
13914
14081
|
enum:
|
|
13915
14082
|
- extract_not_empty
|
|
14083
|
+
- fail_record_when_empty
|
|
13916
14084
|
x-enumDescriptions:
|
|
13917
|
-
extract_not_empty: Include
|
|
14085
|
+
extract_not_empty: Include an array element only when the extract returns a non-empty value for it
|
|
14086
|
+
fail_record_when_empty: Fail the record when the entry's source array is missing or empty
|
|
13918
14087
|
examples:
|
|
13919
14088
|
- extract_not_empty
|
|
13920
14089
|
mappings:
|
|
@@ -14014,6 +14183,20 @@ components:
|
|
|
14014
14183
|
extract: $.price
|
|
14015
14184
|
dataType: number
|
|
14016
14185
|
status: Active
|
|
14186
|
+
if:
|
|
14187
|
+
properties:
|
|
14188
|
+
conditional:
|
|
14189
|
+
properties:
|
|
14190
|
+
when:
|
|
14191
|
+
const: fail_record_when_empty
|
|
14192
|
+
required:
|
|
14193
|
+
- when
|
|
14194
|
+
required:
|
|
14195
|
+
- conditional
|
|
14196
|
+
then:
|
|
14197
|
+
not:
|
|
14198
|
+
required:
|
|
14199
|
+
- default
|
|
14017
14200
|
status:
|
|
14018
14201
|
type: string
|
|
14019
14202
|
description: |
|
|
@@ -14021,9 +14204,10 @@ components:
|
|
|
14021
14204
|
Required on every mapping entry. Controls whether the mapping is applied.
|
|
14022
14205
|
|
|
14023
14206
|
**Guidance**
|
|
14024
|
-
|
|
14025
|
-
|
|
14026
|
-
|
|
14207
|
+
Only `Active` rows run. `Draft` and `Inactive` rows keep their
|
|
14208
|
+
configuration, are saved with minimal validation, and are skipped at
|
|
14209
|
+
runtime and in preview; a non-Active parent skips its whole subtree
|
|
14210
|
+
whatever its children say. The API rejects a mapping missing this field
|
|
14027
14211
|
(validation error: "Mapping object must have status field present.").
|
|
14028
14212
|
x-celigo-ai-guidance:
|
|
14029
14213
|
- |-
|
|
@@ -14032,12 +14216,28 @@ components:
|
|
|
14032
14216
|
field validations. The value is case-sensitive. The API rejects:
|
|
14033
14217
|
- Missing field: `[status_field_absent] Mapping object must have status field present.`
|
|
14034
14218
|
- Wrong case (e.g. `"active"`): `[invalid_status_enums] active is not a valid enum for status field.`
|
|
14219
|
+
- |-
|
|
14220
|
+
`"Inactive"` is the user's "Set inactive" on a row: use it only when
|
|
14221
|
+
asked to disable or park a row, never to mean incomplete (that is
|
|
14222
|
+
`"Draft"`). Setting a parent `Inactive` means no `Active` row may
|
|
14223
|
+
remain under it — the save rejects an `Active` row under an
|
|
14224
|
+
`Inactive` parent (`[inactive_parent_active_child]` on `mappings`,
|
|
14225
|
+
no message text) and never cascades or promotes on its own; `Draft`
|
|
14226
|
+
descendants are kept as they are, and a `Draft` parent does not gate
|
|
14227
|
+
its children. The UI's Set inactive on a parent marks the parent and
|
|
14228
|
+
every child `Inactive` (IO-166197). Re-enabling a child
|
|
14229
|
+
means re-enabling its ancestors in the same payload. Edits that keep
|
|
14230
|
+
existing rows must carry their stored status forward — rewriting a
|
|
14231
|
+
`Draft` or `Inactive` row to `Active` turns a row the user parked
|
|
14232
|
+
back on.
|
|
14035
14233
|
enum:
|
|
14036
14234
|
- Active
|
|
14037
14235
|
- Draft
|
|
14236
|
+
- Inactive
|
|
14038
14237
|
x-enumDescriptions:
|
|
14039
|
-
Active: The mapping is enabled and applied during processing
|
|
14040
|
-
Draft: In-progress mapping; saved without the Active-only field validations
|
|
14238
|
+
Active: The mapping is enabled and applied during processing
|
|
14239
|
+
Draft: In-progress mapping; saved without the Active-only field validations and skipped at runtime
|
|
14240
|
+
Inactive: Disabled by the user; configuration kept, skipped at runtime and in preview
|
|
14041
14241
|
examples:
|
|
14042
14242
|
- Active
|
|
14043
14243
|
conditional:
|
|
@@ -14066,6 +14266,10 @@ components:
|
|
|
14066
14266
|
- `extract_not_empty`: Apply only when the extract field returns a value
|
|
14067
14267
|
Useful for conditional mapping based on input data availability
|
|
14068
14268
|
|
|
14269
|
+
- `fail_record_when_empty`: Fail the record when the extract field returns
|
|
14270
|
+
no value (the UI's "Cause record to fail" action when the source field
|
|
14271
|
+
has no value)
|
|
14272
|
+
|
|
14069
14273
|
**Example**
|
|
14070
14274
|
```json
|
|
14071
14275
|
{
|
|
@@ -14078,28 +14282,75 @@ components:
|
|
|
14078
14282
|
}
|
|
14079
14283
|
}
|
|
14080
14284
|
```
|
|
14285
|
+
x-celigo-ai-guidance:
|
|
14286
|
+
- |-
|
|
14287
|
+
`when` holds one value, and two different settings share it: the
|
|
14288
|
+
composite-import operation gate (`record_created` / `record_updated`,
|
|
14289
|
+
the UI's "Only perform mapping when") and the empty-source action
|
|
14290
|
+
(`extract_not_empty` / `fail_record_when_empty`, the UI's "Action to
|
|
14291
|
+
take if source field has no value"). A row cannot carry both — writing
|
|
14292
|
+
one replaces the other and the save succeeds, so a composite import
|
|
14293
|
+
row that needs both has to choose. Never author `fail_record_when_empty`
|
|
14294
|
+
on a row that already carries `record_created` or `record_updated`.
|
|
14081
14295
|
properties:
|
|
14082
14296
|
when:
|
|
14083
14297
|
type: string
|
|
14084
14298
|
description: |
|
|
14085
|
-
|
|
14086
|
-
-
|
|
14087
|
-
|
|
14088
|
-
|
|
14299
|
+
Condition that gates this mapping — either an operation gate on a
|
|
14300
|
+
composite (create-or-update) import or the action to take when the
|
|
14301
|
+
extract returns no value. Empty means null, undefined or an empty
|
|
14302
|
+
string; `0`, `false` and whitespace are values.
|
|
14303
|
+
x-celigo-ai-guidance:
|
|
14304
|
+
- |-
|
|
14305
|
+
`fail_record_when_empty` is the fourth "Action to take if source field
|
|
14306
|
+
has no value" and is mutually exclusive with the other three: send it
|
|
14307
|
+
with no `default` key. A `default`, a `lookupName` or a `hardCodedValue`
|
|
14308
|
+
on the same row — or a `default` on a `buildArrayHelper` entry — is
|
|
14309
|
+
rejected at save with `[unsupported_mapping] "<key>" and conditional.when
|
|
14310
|
+
"fail_record_when_empty" cannot be present in mapping simultaneously.`
|
|
14311
|
+
(the lookup variant adds `Use lookup "allowFailures" instead.`);
|
|
14312
|
+
lookups fail through `allowFailures: false`, and a hard-coded row
|
|
14313
|
+
always has a value. At runtime an empty extract fails the record with
|
|
14314
|
+
an `errors[]` entry `{code: "extract_empty", fatal: true, source:
|
|
14315
|
+
"mapping", message: "<generate>: Source field has no value"}`
|
|
14316
|
+
("Input field has no value" in a Transformation 2.0); `0` and `false`
|
|
14317
|
+
are values and map through.
|
|
14089
14318
|
enum:
|
|
14090
14319
|
- record_created
|
|
14091
14320
|
- record_updated
|
|
14092
14321
|
- extract_not_empty
|
|
14322
|
+
- fail_record_when_empty
|
|
14093
14323
|
x-enumDescriptions:
|
|
14094
|
-
record_created: Apply this mapping only when creating a new record
|
|
14095
|
-
record_updated: Apply this mapping only when updating an existing record
|
|
14096
|
-
extract_not_empty: Apply this mapping only when the extract field returns a non-empty value
|
|
14324
|
+
record_created: Apply this mapping only when creating a new record
|
|
14325
|
+
record_updated: Apply this mapping only when updating an existing record
|
|
14326
|
+
extract_not_empty: Apply this mapping only when the extract field returns a non-empty value
|
|
14327
|
+
fail_record_when_empty: Fail the record when the extract field returns no value
|
|
14097
14328
|
examples:
|
|
14098
14329
|
- record_created
|
|
14099
14330
|
- record_updated
|
|
14100
14331
|
- extract_not_empty
|
|
14332
|
+
- fail_record_when_empty
|
|
14101
14333
|
required:
|
|
14102
14334
|
- dataType
|
|
14335
|
+
if:
|
|
14336
|
+
properties:
|
|
14337
|
+
conditional:
|
|
14338
|
+
properties:
|
|
14339
|
+
when:
|
|
14340
|
+
const: fail_record_when_empty
|
|
14341
|
+
required:
|
|
14342
|
+
- when
|
|
14343
|
+
required:
|
|
14344
|
+
- conditional
|
|
14345
|
+
then:
|
|
14346
|
+
not:
|
|
14347
|
+
anyOf:
|
|
14348
|
+
- required:
|
|
14349
|
+
- default
|
|
14350
|
+
- required:
|
|
14351
|
+
- lookupName
|
|
14352
|
+
- required:
|
|
14353
|
+
- hardCodedValue
|
|
14103
14354
|
Transform:
|
|
14104
14355
|
type: object
|
|
14105
14356
|
description: |
|
|
@@ -16493,7 +16744,13 @@ components:
|
|
|
16493
16744
|
type: string
|
|
16494
16745
|
format: date-time
|
|
16495
16746
|
readOnly: true
|
|
16496
|
-
description:
|
|
16747
|
+
description: |-
|
|
16748
|
+
Turns on step debug capture until this time: while it lies in the future, every
|
|
16749
|
+
request this import sends — or, for a `ToolImport`, every record passing through
|
|
16750
|
+
it with the tool's output — is recorded in the step's debug log
|
|
16751
|
+
(`GET /v1/{flows|apis|tools}/{containerId}/{_id}/requests`). Read-only on PUT —
|
|
16752
|
+
written only by `PATCH /v1/imports/{_id}` on `/debugUntil`, at most 3600 seconds
|
|
16753
|
+
ahead (`422` `update_not_allowed` beyond that); `remove` stops capture.
|
|
16497
16754
|
Request:
|
|
16498
16755
|
type: object
|
|
16499
16756
|
description: |-
|