@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/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 `replace` operation is supported, and only on the following
298
- whitelisted path:
297
+ Only the following whitelisted path is accepted:
299
298
 
300
- | Path | Description |
301
- |------|-------------|
302
- | `/debugUntil` | Debug logging expiry (ISO-8601, max 1 hour from now) |
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
- Specifies the condition that must be met for an array element to be included.
13025
-
13026
- 'extract_not_empty' only includes elements where the extract field returns a value.
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 the array element only when the extract field returns a non-empty value.
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
- Emit `"Active"` for mappings that should run; `"Draft"` saves an
13138
- in-progress mapping without the Active-only field validations. The
13139
- API rejects a mapping missing this field
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
- Specifies the condition that triggers application of this mapping:
13199
- - record_created: Apply only when creating a new record
13200
- - record_updated: Apply only when updating an existing record
13201
- - extract_not_empty: Apply only when the extract field returns a value
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
- Specifies the condition that must be met for an array element to be included.
13912
-
13913
- 'extract_not_empty' only includes elements where the extract field returns a value.
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 the array element only when the extract field returns a non-empty value.
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
- Emit `"Active"` for mappings that should run; `"Draft"` saves an
14025
- in-progress mapping without the Active-only field validations. The
14026
- API rejects a mapping missing this field
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
- Specifies the condition that triggers application of this mapping:
14086
- - record_created: Apply only when creating a new record
14087
- - record_updated: Apply only when updating an existing record
14088
- - extract_not_empty: Apply only when the extract field returns a value
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: Timestamp until which debug logging is enabled for this import.
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: |-