@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/export.yml
CHANGED
|
@@ -281,13 +281,12 @@ paths:
|
|
|
281
281
|
summary: Patch an export
|
|
282
282
|
description: |-
|
|
283
283
|
Partially updates an export using a JSON Patch document (RFC 6902).
|
|
284
|
-
Only the
|
|
285
|
-
whitelisted paths:
|
|
284
|
+
Only the following whitelisted paths are accepted:
|
|
286
285
|
|
|
287
|
-
| Path | Description |
|
|
288
|
-
|
|
289
|
-
| `/debugUntil` |
|
|
290
|
-
| `/assistantMetadata` | Assistant metadata object |
|
|
286
|
+
| Path | Operations | Description |
|
|
287
|
+
|------|------------|-------------|
|
|
288
|
+
| `/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 |
|
|
289
|
+
| `/assistantMetadata` | `replace` | Assistant metadata object |
|
|
291
290
|
|
|
292
291
|
All other paths are rejected with `422`.
|
|
293
292
|
operationId: patchExport
|
|
@@ -12573,7 +12572,8 @@ components:
|
|
|
12573
12572
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
12574
12573
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
12575
12574
|
action). Omitting the key entirely means no fallback — the field is left out of the
|
|
12576
|
-
output when the extract is empty (the UI's "Do nothing" action).
|
|
12575
|
+
output when the extract is empty (the UI's "Do nothing" action). Failing the record
|
|
12576
|
+
instead is `conditional.when: fail_record_when_empty`, which excludes a default.
|
|
12577
12577
|
x-celigo-ai-guidance:
|
|
12578
12578
|
- |-
|
|
12579
12579
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
@@ -12582,6 +12582,12 @@ components:
|
|
|
12582
12582
|
Preserve them verbatim when editing or migrating a mapping — dropping
|
|
12583
12583
|
the key changes runtime behavior from "use null/empty string as
|
|
12584
12584
|
default value" to "do nothing" (field omitted from the output).
|
|
12585
|
+
- |-
|
|
12586
|
+
The four "Action to take if source field has no value" choices map to:
|
|
12587
|
+
do nothing → no `default` key (optionally `conditional.when:
|
|
12588
|
+
extract_not_empty`); use null → `"default": null`; use empty string or
|
|
12589
|
+
a custom value → `"default": "<value>"`; cause the record to fail →
|
|
12590
|
+
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
12585
12591
|
examples:
|
|
12586
12592
|
- N/A
|
|
12587
12593
|
- '0'
|
|
@@ -12914,6 +12920,22 @@ components:
|
|
|
12914
12920
|
- $.order.lineItems[*]
|
|
12915
12921
|
- $.parents[*].children[*]
|
|
12916
12922
|
- $
|
|
12923
|
+
name:
|
|
12924
|
+
type: string
|
|
12925
|
+
maxLength: 200
|
|
12926
|
+
description: |
|
|
12927
|
+
Display label for this source object in the mapper, so the sources of
|
|
12928
|
+
an object array can be told apart instead of all showing as `$`.
|
|
12929
|
+
Has no effect at runtime; stored only when non-empty.
|
|
12930
|
+
x-celigo-ai-guidance:
|
|
12931
|
+
- |-
|
|
12932
|
+
Carry an existing `name` through every edit — it is the user's label
|
|
12933
|
+
for the tab, and an entry sent without it loses the label. Duplicate
|
|
12934
|
+
names across entries are allowed. Set one only when the user names
|
|
12935
|
+
the source object; never invent labels.
|
|
12936
|
+
examples:
|
|
12937
|
+
- Billing address
|
|
12938
|
+
- Shipping address
|
|
12917
12939
|
sourceDataType:
|
|
12918
12940
|
type: string
|
|
12919
12941
|
description: |
|
|
@@ -12962,17 +12984,31 @@ components:
|
|
|
12962
12984
|
type: object
|
|
12963
12985
|
description: |
|
|
12964
12986
|
Defines conditional rules for including each array element in the result.
|
|
12987
|
+
x-celigo-ai-guidance:
|
|
12988
|
+
- |-
|
|
12989
|
+
Judged against this entry's own `extract` (the array source). The
|
|
12990
|
+
design scopes the UI's tab-level "Action to take if source field has
|
|
12991
|
+
no value" to copy-as-is tabs (no child `mappings`); the API accepts
|
|
12992
|
+
`fail_record_when_empty` on a mapped entry as well, and the mapper
|
|
12993
|
+
processor honors it there — the record fails when that array is
|
|
12994
|
+
missing or empty (`errors[]` entry `code: extract_empty`, `fatal:
|
|
12995
|
+
true`, message `<generate>: Source field has no value`; probed
|
|
12996
|
+
2026-10-09). Say so when writing it on a mapped entry: the user may
|
|
12997
|
+
not find the setting in the mapper's tab. To fail on an empty field
|
|
12998
|
+
inside each element, set the action on that child mapping instead.
|
|
12965
12999
|
properties:
|
|
12966
13000
|
when:
|
|
12967
13001
|
type: string
|
|
12968
13002
|
description: |
|
|
12969
|
-
|
|
12970
|
-
|
|
12971
|
-
|
|
13003
|
+
Condition judged on the entry's extract — skip the elements the
|
|
13004
|
+
extract does not return, or fail the whole record when the source
|
|
13005
|
+
array is missing or empty.
|
|
12972
13006
|
enum:
|
|
12973
13007
|
- extract_not_empty
|
|
13008
|
+
- fail_record_when_empty
|
|
12974
13009
|
x-enumDescriptions:
|
|
12975
|
-
extract_not_empty: Include
|
|
13010
|
+
extract_not_empty: Include an array element only when the extract returns a non-empty value for it
|
|
13011
|
+
fail_record_when_empty: Fail the record when the entry's source array is missing or empty
|
|
12976
13012
|
examples:
|
|
12977
13013
|
- extract_not_empty
|
|
12978
13014
|
mappings:
|
|
@@ -13072,6 +13108,20 @@ components:
|
|
|
13072
13108
|
extract: $.price
|
|
13073
13109
|
dataType: number
|
|
13074
13110
|
status: Active
|
|
13111
|
+
if:
|
|
13112
|
+
properties:
|
|
13113
|
+
conditional:
|
|
13114
|
+
properties:
|
|
13115
|
+
when:
|
|
13116
|
+
const: fail_record_when_empty
|
|
13117
|
+
required:
|
|
13118
|
+
- when
|
|
13119
|
+
required:
|
|
13120
|
+
- conditional
|
|
13121
|
+
then:
|
|
13122
|
+
not:
|
|
13123
|
+
required:
|
|
13124
|
+
- default
|
|
13075
13125
|
status:
|
|
13076
13126
|
type: string
|
|
13077
13127
|
description: |
|
|
@@ -13079,9 +13129,10 @@ components:
|
|
|
13079
13129
|
Required on every mapping entry. Controls whether the mapping is applied.
|
|
13080
13130
|
|
|
13081
13131
|
**Guidance**
|
|
13082
|
-
|
|
13083
|
-
|
|
13084
|
-
|
|
13132
|
+
Only `Active` rows run. `Draft` and `Inactive` rows keep their
|
|
13133
|
+
configuration, are saved with minimal validation, and are skipped at
|
|
13134
|
+
runtime and in preview; a non-Active parent skips its whole subtree
|
|
13135
|
+
whatever its children say. The API rejects a mapping missing this field
|
|
13085
13136
|
(validation error: "Mapping object must have status field present.").
|
|
13086
13137
|
x-celigo-ai-guidance:
|
|
13087
13138
|
- |-
|
|
@@ -13090,12 +13141,28 @@ components:
|
|
|
13090
13141
|
field validations. The value is case-sensitive. The API rejects:
|
|
13091
13142
|
- Missing field: `[status_field_absent] Mapping object must have status field present.`
|
|
13092
13143
|
- Wrong case (e.g. `"active"`): `[invalid_status_enums] active is not a valid enum for status field.`
|
|
13144
|
+
- |-
|
|
13145
|
+
`"Inactive"` is the user's "Set inactive" on a row: use it only when
|
|
13146
|
+
asked to disable or park a row, never to mean incomplete (that is
|
|
13147
|
+
`"Draft"`). Setting a parent `Inactive` means no `Active` row may
|
|
13148
|
+
remain under it — the save rejects an `Active` row under an
|
|
13149
|
+
`Inactive` parent (`[inactive_parent_active_child]` on `mappings`,
|
|
13150
|
+
no message text) and never cascades or promotes on its own; `Draft`
|
|
13151
|
+
descendants are kept as they are, and a `Draft` parent does not gate
|
|
13152
|
+
its children. The UI's Set inactive on a parent marks the parent and
|
|
13153
|
+
every child `Inactive` (IO-166197). Re-enabling a child
|
|
13154
|
+
means re-enabling its ancestors in the same payload. Edits that keep
|
|
13155
|
+
existing rows must carry their stored status forward — rewriting a
|
|
13156
|
+
`Draft` or `Inactive` row to `Active` turns a row the user parked
|
|
13157
|
+
back on.
|
|
13093
13158
|
enum:
|
|
13094
13159
|
- Active
|
|
13095
13160
|
- Draft
|
|
13161
|
+
- Inactive
|
|
13096
13162
|
x-enumDescriptions:
|
|
13097
|
-
Active: The mapping is enabled and applied during processing
|
|
13098
|
-
Draft: In-progress mapping; saved without the Active-only field validations
|
|
13163
|
+
Active: The mapping is enabled and applied during processing
|
|
13164
|
+
Draft: In-progress mapping; saved without the Active-only field validations and skipped at runtime
|
|
13165
|
+
Inactive: Disabled by the user; configuration kept, skipped at runtime and in preview
|
|
13099
13166
|
examples:
|
|
13100
13167
|
- Active
|
|
13101
13168
|
conditional:
|
|
@@ -13124,6 +13191,10 @@ components:
|
|
|
13124
13191
|
- `extract_not_empty`: Apply only when the extract field returns a value
|
|
13125
13192
|
Useful for conditional mapping based on input data availability
|
|
13126
13193
|
|
|
13194
|
+
- `fail_record_when_empty`: Fail the record when the extract field returns
|
|
13195
|
+
no value (the UI's "Cause record to fail" action when the source field
|
|
13196
|
+
has no value)
|
|
13197
|
+
|
|
13127
13198
|
**Example**
|
|
13128
13199
|
```json
|
|
13129
13200
|
{
|
|
@@ -13136,28 +13207,75 @@ components:
|
|
|
13136
13207
|
}
|
|
13137
13208
|
}
|
|
13138
13209
|
```
|
|
13210
|
+
x-celigo-ai-guidance:
|
|
13211
|
+
- |-
|
|
13212
|
+
`when` holds one value, and two different settings share it: the
|
|
13213
|
+
composite-import operation gate (`record_created` / `record_updated`,
|
|
13214
|
+
the UI's "Only perform mapping when") and the empty-source action
|
|
13215
|
+
(`extract_not_empty` / `fail_record_when_empty`, the UI's "Action to
|
|
13216
|
+
take if source field has no value"). A row cannot carry both — writing
|
|
13217
|
+
one replaces the other and the save succeeds, so a composite import
|
|
13218
|
+
row that needs both has to choose. Never author `fail_record_when_empty`
|
|
13219
|
+
on a row that already carries `record_created` or `record_updated`.
|
|
13139
13220
|
properties:
|
|
13140
13221
|
when:
|
|
13141
13222
|
type: string
|
|
13142
13223
|
description: |
|
|
13143
|
-
|
|
13144
|
-
-
|
|
13145
|
-
|
|
13146
|
-
|
|
13224
|
+
Condition that gates this mapping — either an operation gate on a
|
|
13225
|
+
composite (create-or-update) import or the action to take when the
|
|
13226
|
+
extract returns no value. Empty means null, undefined or an empty
|
|
13227
|
+
string; `0`, `false` and whitespace are values.
|
|
13228
|
+
x-celigo-ai-guidance:
|
|
13229
|
+
- |-
|
|
13230
|
+
`fail_record_when_empty` is the fourth "Action to take if source field
|
|
13231
|
+
has no value" and is mutually exclusive with the other three: send it
|
|
13232
|
+
with no `default` key. A `default`, a `lookupName` or a `hardCodedValue`
|
|
13233
|
+
on the same row — or a `default` on a `buildArrayHelper` entry — is
|
|
13234
|
+
rejected at save with `[unsupported_mapping] "<key>" and conditional.when
|
|
13235
|
+
"fail_record_when_empty" cannot be present in mapping simultaneously.`
|
|
13236
|
+
(the lookup variant adds `Use lookup "allowFailures" instead.`);
|
|
13237
|
+
lookups fail through `allowFailures: false`, and a hard-coded row
|
|
13238
|
+
always has a value. At runtime an empty extract fails the record with
|
|
13239
|
+
an `errors[]` entry `{code: "extract_empty", fatal: true, source:
|
|
13240
|
+
"mapping", message: "<generate>: Source field has no value"}`
|
|
13241
|
+
("Input field has no value" in a Transformation 2.0); `0` and `false`
|
|
13242
|
+
are values and map through.
|
|
13147
13243
|
enum:
|
|
13148
13244
|
- record_created
|
|
13149
13245
|
- record_updated
|
|
13150
13246
|
- extract_not_empty
|
|
13247
|
+
- fail_record_when_empty
|
|
13151
13248
|
x-enumDescriptions:
|
|
13152
|
-
record_created: Apply this mapping only when creating a new record
|
|
13153
|
-
record_updated: Apply this mapping only when updating an existing record
|
|
13154
|
-
extract_not_empty: Apply this mapping only when the extract field returns a non-empty value
|
|
13249
|
+
record_created: Apply this mapping only when creating a new record
|
|
13250
|
+
record_updated: Apply this mapping only when updating an existing record
|
|
13251
|
+
extract_not_empty: Apply this mapping only when the extract field returns a non-empty value
|
|
13252
|
+
fail_record_when_empty: Fail the record when the extract field returns no value
|
|
13155
13253
|
examples:
|
|
13156
13254
|
- record_created
|
|
13157
13255
|
- record_updated
|
|
13158
13256
|
- extract_not_empty
|
|
13257
|
+
- fail_record_when_empty
|
|
13159
13258
|
required:
|
|
13160
13259
|
- dataType
|
|
13260
|
+
if:
|
|
13261
|
+
properties:
|
|
13262
|
+
conditional:
|
|
13263
|
+
properties:
|
|
13264
|
+
when:
|
|
13265
|
+
const: fail_record_when_empty
|
|
13266
|
+
required:
|
|
13267
|
+
- when
|
|
13268
|
+
required:
|
|
13269
|
+
- conditional
|
|
13270
|
+
then:
|
|
13271
|
+
not:
|
|
13272
|
+
anyOf:
|
|
13273
|
+
- required:
|
|
13274
|
+
- default
|
|
13275
|
+
- required:
|
|
13276
|
+
- lookupName
|
|
13277
|
+
- required:
|
|
13278
|
+
- hardCodedValue
|
|
13161
13279
|
Mappings:
|
|
13162
13280
|
type: array
|
|
13163
13281
|
description: |
|
|
@@ -13181,6 +13299,20 @@ components:
|
|
|
13181
13299
|
|
|
13182
13300
|
The system will process these nested structures recursively during runtime, ensuring proper construction
|
|
13183
13301
|
of complex hierarchical data while maintaining excellent performance.
|
|
13302
|
+
|
|
13303
|
+
On save, a leaf row with neither a source (`extract`, `hardCodedValue`, `lookupName`) nor a
|
|
13304
|
+
destination (`generate`) is dropped silently, at every nesting level, and so is an object or
|
|
13305
|
+
object-array row left with no source, no destination and no remaining child `mappings` or
|
|
13306
|
+
`buildArrayHelper` entries; a row with only one of the two, and a source-less, destination-less
|
|
13307
|
+
wrapper that still has children, are kept.
|
|
13308
|
+
x-celigo-ai-guidance:
|
|
13309
|
+
- |-
|
|
13310
|
+
Rows that exist in the saved document — including `Draft` and `Inactive` rows and
|
|
13311
|
+
rows with only a source or only a destination — are the user's state: an edit that
|
|
13312
|
+
re-sends the tree must carry them through unchanged unless the user asked to change
|
|
13313
|
+
them. Only a row with neither source nor destination — and, for an object or
|
|
13314
|
+
object-array row, no remaining children — can be left out; the save would drop it
|
|
13315
|
+
anyway. A wrapper with children but no `generate` is kept by the save, so keep it.
|
|
13184
13316
|
items:
|
|
13185
13317
|
type: object
|
|
13186
13318
|
properties:
|
|
@@ -13460,7 +13592,8 @@ components:
|
|
|
13460
13592
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
13461
13593
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
13462
13594
|
action). Omitting the key entirely means no fallback — the field is left out of the
|
|
13463
|
-
output when the extract is empty (the UI's "Do nothing" action).
|
|
13595
|
+
output when the extract is empty (the UI's "Do nothing" action). Failing the record
|
|
13596
|
+
instead is `conditional.when: fail_record_when_empty`, which excludes a default.
|
|
13464
13597
|
x-celigo-ai-guidance:
|
|
13465
13598
|
- |-
|
|
13466
13599
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
@@ -13469,6 +13602,12 @@ components:
|
|
|
13469
13602
|
Preserve them verbatim when editing or migrating a mapping — dropping
|
|
13470
13603
|
the key changes runtime behavior from "use null/empty string as
|
|
13471
13604
|
default value" to "do nothing" (field omitted from the output).
|
|
13605
|
+
- |-
|
|
13606
|
+
The four "Action to take if source field has no value" choices map to:
|
|
13607
|
+
do nothing → no `default` key (optionally `conditional.when:
|
|
13608
|
+
extract_not_empty`); use null → `"default": null`; use empty string or
|
|
13609
|
+
a custom value → `"default": "<value>"`; cause the record to fail →
|
|
13610
|
+
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
13472
13611
|
examples:
|
|
13473
13612
|
- N/A
|
|
13474
13613
|
- '0'
|
|
@@ -13801,6 +13940,22 @@ components:
|
|
|
13801
13940
|
- $.order.lineItems[*]
|
|
13802
13941
|
- $.parents[*].children[*]
|
|
13803
13942
|
- $
|
|
13943
|
+
name:
|
|
13944
|
+
type: string
|
|
13945
|
+
maxLength: 200
|
|
13946
|
+
description: |
|
|
13947
|
+
Display label for this source object in the mapper, so the sources of
|
|
13948
|
+
an object array can be told apart instead of all showing as `$`.
|
|
13949
|
+
Has no effect at runtime; stored only when non-empty.
|
|
13950
|
+
x-celigo-ai-guidance:
|
|
13951
|
+
- |-
|
|
13952
|
+
Carry an existing `name` through every edit — it is the user's label
|
|
13953
|
+
for the tab, and an entry sent without it loses the label. Duplicate
|
|
13954
|
+
names across entries are allowed. Set one only when the user names
|
|
13955
|
+
the source object; never invent labels.
|
|
13956
|
+
examples:
|
|
13957
|
+
- Billing address
|
|
13958
|
+
- Shipping address
|
|
13804
13959
|
sourceDataType:
|
|
13805
13960
|
type: string
|
|
13806
13961
|
description: |
|
|
@@ -13849,17 +14004,31 @@ components:
|
|
|
13849
14004
|
type: object
|
|
13850
14005
|
description: |
|
|
13851
14006
|
Defines conditional rules for including each array element in the result.
|
|
14007
|
+
x-celigo-ai-guidance:
|
|
14008
|
+
- |-
|
|
14009
|
+
Judged against this entry's own `extract` (the array source). The
|
|
14010
|
+
design scopes the UI's tab-level "Action to take if source field has
|
|
14011
|
+
no value" to copy-as-is tabs (no child `mappings`); the API accepts
|
|
14012
|
+
`fail_record_when_empty` on a mapped entry as well, and the mapper
|
|
14013
|
+
processor honors it there — the record fails when that array is
|
|
14014
|
+
missing or empty (`errors[]` entry `code: extract_empty`, `fatal:
|
|
14015
|
+
true`, message `<generate>: Source field has no value`; probed
|
|
14016
|
+
2026-10-09). Say so when writing it on a mapped entry: the user may
|
|
14017
|
+
not find the setting in the mapper's tab. To fail on an empty field
|
|
14018
|
+
inside each element, set the action on that child mapping instead.
|
|
13852
14019
|
properties:
|
|
13853
14020
|
when:
|
|
13854
14021
|
type: string
|
|
13855
14022
|
description: |
|
|
13856
|
-
|
|
13857
|
-
|
|
13858
|
-
|
|
14023
|
+
Condition judged on the entry's extract — skip the elements the
|
|
14024
|
+
extract does not return, or fail the whole record when the source
|
|
14025
|
+
array is missing or empty.
|
|
13859
14026
|
enum:
|
|
13860
14027
|
- extract_not_empty
|
|
14028
|
+
- fail_record_when_empty
|
|
13861
14029
|
x-enumDescriptions:
|
|
13862
|
-
extract_not_empty: Include
|
|
14030
|
+
extract_not_empty: Include an array element only when the extract returns a non-empty value for it
|
|
14031
|
+
fail_record_when_empty: Fail the record when the entry's source array is missing or empty
|
|
13863
14032
|
examples:
|
|
13864
14033
|
- extract_not_empty
|
|
13865
14034
|
mappings:
|
|
@@ -13959,6 +14128,20 @@ components:
|
|
|
13959
14128
|
extract: $.price
|
|
13960
14129
|
dataType: number
|
|
13961
14130
|
status: Active
|
|
14131
|
+
if:
|
|
14132
|
+
properties:
|
|
14133
|
+
conditional:
|
|
14134
|
+
properties:
|
|
14135
|
+
when:
|
|
14136
|
+
const: fail_record_when_empty
|
|
14137
|
+
required:
|
|
14138
|
+
- when
|
|
14139
|
+
required:
|
|
14140
|
+
- conditional
|
|
14141
|
+
then:
|
|
14142
|
+
not:
|
|
14143
|
+
required:
|
|
14144
|
+
- default
|
|
13962
14145
|
status:
|
|
13963
14146
|
type: string
|
|
13964
14147
|
description: |
|
|
@@ -13966,9 +14149,10 @@ components:
|
|
|
13966
14149
|
Required on every mapping entry. Controls whether the mapping is applied.
|
|
13967
14150
|
|
|
13968
14151
|
**Guidance**
|
|
13969
|
-
|
|
13970
|
-
|
|
13971
|
-
|
|
14152
|
+
Only `Active` rows run. `Draft` and `Inactive` rows keep their
|
|
14153
|
+
configuration, are saved with minimal validation, and are skipped at
|
|
14154
|
+
runtime and in preview; a non-Active parent skips its whole subtree
|
|
14155
|
+
whatever its children say. The API rejects a mapping missing this field
|
|
13972
14156
|
(validation error: "Mapping object must have status field present.").
|
|
13973
14157
|
x-celigo-ai-guidance:
|
|
13974
14158
|
- |-
|
|
@@ -13977,12 +14161,28 @@ components:
|
|
|
13977
14161
|
field validations. The value is case-sensitive. The API rejects:
|
|
13978
14162
|
- Missing field: `[status_field_absent] Mapping object must have status field present.`
|
|
13979
14163
|
- Wrong case (e.g. `"active"`): `[invalid_status_enums] active is not a valid enum for status field.`
|
|
14164
|
+
- |-
|
|
14165
|
+
`"Inactive"` is the user's "Set inactive" on a row: use it only when
|
|
14166
|
+
asked to disable or park a row, never to mean incomplete (that is
|
|
14167
|
+
`"Draft"`). Setting a parent `Inactive` means no `Active` row may
|
|
14168
|
+
remain under it — the save rejects an `Active` row under an
|
|
14169
|
+
`Inactive` parent (`[inactive_parent_active_child]` on `mappings`,
|
|
14170
|
+
no message text) and never cascades or promotes on its own; `Draft`
|
|
14171
|
+
descendants are kept as they are, and a `Draft` parent does not gate
|
|
14172
|
+
its children. The UI's Set inactive on a parent marks the parent and
|
|
14173
|
+
every child `Inactive` (IO-166197). Re-enabling a child
|
|
14174
|
+
means re-enabling its ancestors in the same payload. Edits that keep
|
|
14175
|
+
existing rows must carry their stored status forward — rewriting a
|
|
14176
|
+
`Draft` or `Inactive` row to `Active` turns a row the user parked
|
|
14177
|
+
back on.
|
|
13980
14178
|
enum:
|
|
13981
14179
|
- Active
|
|
13982
14180
|
- Draft
|
|
14181
|
+
- Inactive
|
|
13983
14182
|
x-enumDescriptions:
|
|
13984
|
-
Active: The mapping is enabled and applied during processing
|
|
13985
|
-
Draft: In-progress mapping; saved without the Active-only field validations
|
|
14183
|
+
Active: The mapping is enabled and applied during processing
|
|
14184
|
+
Draft: In-progress mapping; saved without the Active-only field validations and skipped at runtime
|
|
14185
|
+
Inactive: Disabled by the user; configuration kept, skipped at runtime and in preview
|
|
13986
14186
|
examples:
|
|
13987
14187
|
- Active
|
|
13988
14188
|
conditional:
|
|
@@ -14011,6 +14211,10 @@ components:
|
|
|
14011
14211
|
- `extract_not_empty`: Apply only when the extract field returns a value
|
|
14012
14212
|
Useful for conditional mapping based on input data availability
|
|
14013
14213
|
|
|
14214
|
+
- `fail_record_when_empty`: Fail the record when the extract field returns
|
|
14215
|
+
no value (the UI's "Cause record to fail" action when the source field
|
|
14216
|
+
has no value)
|
|
14217
|
+
|
|
14014
14218
|
**Example**
|
|
14015
14219
|
```json
|
|
14016
14220
|
{
|
|
@@ -14023,28 +14227,75 @@ components:
|
|
|
14023
14227
|
}
|
|
14024
14228
|
}
|
|
14025
14229
|
```
|
|
14230
|
+
x-celigo-ai-guidance:
|
|
14231
|
+
- |-
|
|
14232
|
+
`when` holds one value, and two different settings share it: the
|
|
14233
|
+
composite-import operation gate (`record_created` / `record_updated`,
|
|
14234
|
+
the UI's "Only perform mapping when") and the empty-source action
|
|
14235
|
+
(`extract_not_empty` / `fail_record_when_empty`, the UI's "Action to
|
|
14236
|
+
take if source field has no value"). A row cannot carry both — writing
|
|
14237
|
+
one replaces the other and the save succeeds, so a composite import
|
|
14238
|
+
row that needs both has to choose. Never author `fail_record_when_empty`
|
|
14239
|
+
on a row that already carries `record_created` or `record_updated`.
|
|
14026
14240
|
properties:
|
|
14027
14241
|
when:
|
|
14028
14242
|
type: string
|
|
14029
14243
|
description: |
|
|
14030
|
-
|
|
14031
|
-
-
|
|
14032
|
-
|
|
14033
|
-
|
|
14244
|
+
Condition that gates this mapping — either an operation gate on a
|
|
14245
|
+
composite (create-or-update) import or the action to take when the
|
|
14246
|
+
extract returns no value. Empty means null, undefined or an empty
|
|
14247
|
+
string; `0`, `false` and whitespace are values.
|
|
14248
|
+
x-celigo-ai-guidance:
|
|
14249
|
+
- |-
|
|
14250
|
+
`fail_record_when_empty` is the fourth "Action to take if source field
|
|
14251
|
+
has no value" and is mutually exclusive with the other three: send it
|
|
14252
|
+
with no `default` key. A `default`, a `lookupName` or a `hardCodedValue`
|
|
14253
|
+
on the same row — or a `default` on a `buildArrayHelper` entry — is
|
|
14254
|
+
rejected at save with `[unsupported_mapping] "<key>" and conditional.when
|
|
14255
|
+
"fail_record_when_empty" cannot be present in mapping simultaneously.`
|
|
14256
|
+
(the lookup variant adds `Use lookup "allowFailures" instead.`);
|
|
14257
|
+
lookups fail through `allowFailures: false`, and a hard-coded row
|
|
14258
|
+
always has a value. At runtime an empty extract fails the record with
|
|
14259
|
+
an `errors[]` entry `{code: "extract_empty", fatal: true, source:
|
|
14260
|
+
"mapping", message: "<generate>: Source field has no value"}`
|
|
14261
|
+
("Input field has no value" in a Transformation 2.0); `0` and `false`
|
|
14262
|
+
are values and map through.
|
|
14034
14263
|
enum:
|
|
14035
14264
|
- record_created
|
|
14036
14265
|
- record_updated
|
|
14037
14266
|
- extract_not_empty
|
|
14267
|
+
- fail_record_when_empty
|
|
14038
14268
|
x-enumDescriptions:
|
|
14039
|
-
record_created: Apply this mapping only when creating a new record
|
|
14040
|
-
record_updated: Apply this mapping only when updating an existing record
|
|
14041
|
-
extract_not_empty: Apply this mapping only when the extract field returns a non-empty value
|
|
14269
|
+
record_created: Apply this mapping only when creating a new record
|
|
14270
|
+
record_updated: Apply this mapping only when updating an existing record
|
|
14271
|
+
extract_not_empty: Apply this mapping only when the extract field returns a non-empty value
|
|
14272
|
+
fail_record_when_empty: Fail the record when the extract field returns no value
|
|
14042
14273
|
examples:
|
|
14043
14274
|
- record_created
|
|
14044
14275
|
- record_updated
|
|
14045
14276
|
- extract_not_empty
|
|
14277
|
+
- fail_record_when_empty
|
|
14046
14278
|
required:
|
|
14047
14279
|
- dataType
|
|
14280
|
+
if:
|
|
14281
|
+
properties:
|
|
14282
|
+
conditional:
|
|
14283
|
+
properties:
|
|
14284
|
+
when:
|
|
14285
|
+
const: fail_record_when_empty
|
|
14286
|
+
required:
|
|
14287
|
+
- when
|
|
14288
|
+
required:
|
|
14289
|
+
- conditional
|
|
14290
|
+
then:
|
|
14291
|
+
not:
|
|
14292
|
+
anyOf:
|
|
14293
|
+
- required:
|
|
14294
|
+
- default
|
|
14295
|
+
- required:
|
|
14296
|
+
- lookupName
|
|
14297
|
+
- required:
|
|
14298
|
+
- hardCodedValue
|
|
14048
14299
|
Lookups:
|
|
14049
14300
|
type: array
|
|
14050
14301
|
description: |
|
|
@@ -16434,7 +16685,12 @@ components:
|
|
|
16434
16685
|
type: string
|
|
16435
16686
|
format: date-time
|
|
16436
16687
|
readOnly: true
|
|
16437
|
-
description:
|
|
16688
|
+
description: |-
|
|
16689
|
+
Turns on step debug capture until this time: while it lies in the future, every
|
|
16690
|
+
request this export sends is recorded in the step's debug log
|
|
16691
|
+
(`GET /v1/{flows|apis|tools}/{containerId}/{_id}/requests`). Read-only on PUT —
|
|
16692
|
+
written only by `PATCH /v1/exports/{_id}` on `/debugUntil`, at most 3600 seconds
|
|
16693
|
+
ahead (`422` `update_not_allowed` beyond that); `remove` stops capture.
|
|
16438
16694
|
Request:
|
|
16439
16695
|
type: object
|
|
16440
16696
|
description: |-
|