@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/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 `replace` operation is supported, and only on the following
285
- whitelisted paths:
284
+ Only the following whitelisted paths are accepted:
286
285
 
287
- | Path | Description |
288
- |------|-------------|
289
- | `/debugUntil` | Debug logging expiry (ISO-8601, max 1 hour from now) |
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
- Specifies the condition that must be met for an array element to be included.
12970
-
12971
- 'extract_not_empty' only includes elements where the extract field returns a value.
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 the array element only when the extract field returns a non-empty value.
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
- Emit `"Active"` for mappings that should run; `"Draft"` saves an
13083
- in-progress mapping without the Active-only field validations. The
13084
- API rejects a mapping missing this field
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
- Specifies the condition that triggers application of this mapping:
13144
- - record_created: Apply only when creating a new record
13145
- - record_updated: Apply only when updating an existing record
13146
- - extract_not_empty: Apply only when the extract field returns a value
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
- Specifies the condition that must be met for an array element to be included.
13857
-
13858
- 'extract_not_empty' only includes elements where the extract field returns a value.
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 the array element only when the extract field returns a non-empty value.
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
- Emit `"Active"` for mappings that should run; `"Draft"` saves an
13970
- in-progress mapping without the Active-only field validations. The
13971
- API rejects a mapping missing this field
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
- Specifies the condition that triggers application of this mapping:
14031
- - record_created: Apply only when creating a new record
14032
- - record_updated: Apply only when updating an existing record
14033
- - extract_not_empty: Apply only when the extract field returns a value
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: Timestamp until which debug logging is enabled for this export.
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: |-