@celigo/api-specs 0.2.154 → 0.2.156

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
@@ -2844,7 +2844,7 @@ components:
2844
2844
  unmatched lookup halts the record. Stored as null when no
2845
2845
  fallback is configured.
2846
2846
  x-celigo-ai-guidance:
2847
- - 'Omit this field entirely when no fallback value is intended. The API rejects an empty string with [invalid_field] Invalid value '''' for field ''default'' — emitting default: "" to mean "no default" fails validation; leaving the key out is the valid spelling of that intent.'
2847
+ - 'Omit this field entirely when no fallback value is intended. An empty string is a value, not "no default": the save accepts `default: ""`, and a miss the lookup lets through writes `""`.'
2848
2848
  - 'A fallback only takes effect on an allowed miss — pair a real default with allowFailures: true (or useDefaultOnMultipleMatches: true for the ambiguous-match case).'
2849
2849
  allowFailures:
2850
2850
  type:
@@ -5100,7 +5100,7 @@ components:
5100
5100
  - Unmapped Value
5101
5101
  - '{Original Value}'
5102
5102
  x-celigo-ai-guidance:
5103
- - 'Omit this field entirely when no fallback value is intended. The API rejects an empty string with [invalid_field] Invalid value '''' for field ''default'' — emitting default: "" to mean "no default" fails validation; leaving the key out is the valid spelling of that intent.'
5103
+ - 'Omit this field entirely when no fallback value is intended: a miss the lookup lets through then leaves the mapped field out, and with `allowFailures: false` a miss fails the record whatever the default. An empty string is a value, not "no default" — the save accepts `default: ""`, and an allowed miss writes `""`.'
5104
5104
  allowFailures:
5105
5105
  type:
5106
5106
  - boolean
@@ -12568,9 +12568,8 @@ components:
12568
12568
  - For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
12569
12569
  - For object fields: Set to the object property name, then add child mappings in the 'mappings' array
12570
12570
  - For array fields: Set to the array property name, then configure 'buildArrayHelper'
12571
- - Two structural blanks: the inner array item of an array of arrays (it has no field name),
12572
- and the single top-level `objectarray` item of a `rows [ ]` mapping (the array output
12573
- structure — see the array's description). A child-bearing wrapper and a source-only row that
12571
+ - One structural blank: the single top-level `objectarray` item of a `rows [ ]` mapping (the
12572
+ array output structure — see the array's description). A child-bearing wrapper and a source-only row that
12574
12573
  already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
12575
12574
  name changes the output; it does not complete the row
12576
12575
 
@@ -12587,7 +12586,9 @@ components:
12587
12586
  }
12588
12587
  ```
12589
12588
 
12590
- When parsing existing mappings, an empty `generate` inside a parent array is an inner array; an
12589
+ When parsing existing mappings, an empty `generate` on a row inside an `arrayarray` row's
12590
+ `buildArrayHelper` entry is that row's inner array (`arrayarray` fails at run time; see
12591
+ `dataType`); other unnamed rows are the wrappers and source-only rows described above; an
12591
12592
  empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
12592
12593
  structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
12593
12594
  examples:
@@ -12621,17 +12622,25 @@ components:
12621
12622
  - `numberarray`: Array of numbers
12622
12623
  - `booleanarray`: Array of booleans
12623
12624
  - `objectarray`: Array of objects (most common array type)
12624
- - `arrayarray`: Array of arrays (for matrix/table structures)
12625
12625
 
12626
- Array dataTypes can be populated three ways: pass a source array
12627
- through unchanged via a JSONPath `extract` alone (when the source is
12628
- already an array of the right shape), construct/iterate via
12629
- `buildArrayHelper`, or set a constant with `hardCodedValue`.
12626
+ `arrayarray` is not a type the mapper recognizes: a save accepts it, but every record
12627
+ then fails with `Destination datatype is a required field.` Build an array of arrays
12628
+ in a script hook instead.
12629
+
12630
+ Array dataTypes are populated two ways: construct or iterate through
12631
+ `buildArrayHelper` entries, or set a constant with `hardCodedValue`. The
12632
+ row's own `extract` is never read on an array type: a primitive-array row
12633
+ that has only an `extract` (JSONPath, Handlebars or a literal) yields
12634
+ nothing, with no error, and an `objectarray` row without `buildArrayHelper`
12635
+ or `hardCodedValue` is refused with 422 ("buildArrayHelper" or
12636
+ "hardCodedValue" must be present for object array datatype.). To copy a
12637
+ source array through unchanged, use one entry that iterates it
12638
+ (`buildArrayHelper: [{"extract": "$.items[*]"}]`).
12630
12639
 
12631
12640
  IMPORTANT: The dataType controls which additional fields are relevant:
12632
12641
  - For date-like string fields: extractDateFormat, generateDateFormat, etc. become relevant
12633
12642
  - For object types: 'mappings' array becomes relevant
12634
- - For array types: a JSONPath `extract` alone, `buildArrayHelper`, or `hardCodedValue` (see above)
12643
+ - For array types: `buildArrayHelper` or `hardCodedValue` (see above)
12635
12644
 
12636
12645
  When analyzing existing mappings or generating new ones, always check dataType first
12637
12646
  to understand what additional fields should be present.
@@ -12650,7 +12659,6 @@ components:
12650
12659
  - numberarray
12651
12660
  - booleanarray
12652
12661
  - objectarray
12653
- - arrayarray
12654
12662
  x-enumDescriptions:
12655
12663
  string: Text values; converts other types to their string representation.
12656
12664
  number: Numeric values; attempts conversion from strings.
@@ -12660,7 +12668,6 @@ components:
12660
12668
  numberarray: Array of numeric values.
12661
12669
  booleanarray: Array of boolean values.
12662
12670
  objectarray: Array of objects, the most common array type.
12663
- arrayarray: Array of arrays, used for matrix or table structures.
12664
12671
  examples:
12665
12672
  - string
12666
12673
  - number
@@ -12703,9 +12710,10 @@ components:
12703
12710
  - Valid on scalars and on `object` rows, where the rendered output must
12704
12711
  parse into an object. On an array row the template goes in a
12705
12712
  `buildArrayHelper` entry instead: on an `objectarray` row's own
12706
- `extract` it is refused with 422 ("buildArrayHelper" must be present
12707
- for object array datatype), and on a primitive-array row's own
12708
- `extract` it renders null without an error
12713
+ `extract` it is refused with 422 ("buildArrayHelper" or "hardCodedValue"
12714
+ must be present for object array datatype.), and on a primitive-array
12715
+ row's own `extract` it yields nothing (the field is left out) without an
12716
+ error
12709
12717
 
12710
12718
  ```json
12711
12719
  "extract": "{{record.price}} {{record.currency}}" // Combines two fields
@@ -12847,8 +12855,10 @@ components:
12847
12855
  Explicit JSON `null` is itself a valid fallback: the destination field is written as
12848
12856
  JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
12849
12857
  action). Omitting the key entirely means no fallback — the field is left out of the
12850
- output when the extract is empty (the UI's "Do nothing" action). Failing the record
12851
- instead is `conditional.when: fail_record_when_empty`, which excludes a default.
12858
+ output when the extract is missing or an empty string (the UI's "Do nothing" action),
12859
+ while a null source is still written as null unless `conditional.when` is
12860
+ `extract_not_empty`. Failing the record instead is `conditional.when:
12861
+ fail_record_when_empty`, which excludes a default.
12852
12862
  x-celigo-ai-guidance:
12853
12863
  - |-
12854
12864
  `"default": null` and `"default": ""` are distinct saved values, not
@@ -12856,11 +12866,14 @@ components:
12856
12866
  empty string renders it as `""` when the extract yields nothing.
12857
12867
  Preserve them verbatim when editing or migrating a mapping — dropping
12858
12868
  the key changes runtime behavior from "use null/empty string as
12859
- default value" to "do nothing" (field omitted from the output).
12869
+ default value" to "do nothing" (a missing or `""` source is left out
12870
+ of the output, while a null source is written as null unless
12871
+ `conditional.when` is `extract_not_empty`).
12860
12872
  - |-
12861
12873
  The four "Action to take if source field has no value" choices map to:
12862
- do nothing → no `default` key (optionally `conditional.when:
12863
- extract_not_empty`); use null → `"default": null`; use empty string or
12874
+ do nothing → no `default` key (add `conditional.when:
12875
+ extract_not_empty` to leave a null source out too; without it a null
12876
+ source is written as null); use null → `"default": null`; use empty string or
12864
12877
  a custom value → `"default": "<value>"`; cause the record to fail →
12865
12878
  `conditional.when: fail_record_when_empty` with no `default` key.
12866
12879
  examples:
@@ -13075,8 +13088,7 @@ components:
13075
13088
 
13076
13089
  **When to Use**
13077
13090
  - REQUIRED when dataType ends with "array" (stringarray, objectarray, etc.), unless the
13078
- row passes a source array through with a JSONPath `extract` alone or sets
13079
- `hardCodedValue`
13091
+ row sets `hardCodedValue`: an array row's own `extract` is never read (see `dataType`)
13080
13092
  - Each entry in this array contributes elements to the output array
13081
13093
  - Multiple entries allow combining data from different input arrays
13082
13094
 
@@ -13160,28 +13172,10 @@ components:
13160
13172
  }
13161
13173
  ```
13162
13174
 
13163
- **For Arrays of Arrays (arrayarray)**
13164
- - Similar to objectarray, but inner arrays have empty 'generate' fields
13165
- - Used for matrix/table structures
13166
- ```json
13167
- {
13168
- "generate": "matrix",
13169
- "dataType": "arrayarray",
13170
- "buildArrayHelper": [
13171
- {
13172
- "extract": "$.rows[*]", // For each row in the rows array
13173
- "mappings": [
13174
- {
13175
- "dataType": "numberarray", // Note: No generate field for inner arrays
13176
- "buildArrayHelper": [
13177
- {"extract": "$.rows.columns[*]"} // Notice: "rows" is singular in the composite object
13178
- ]
13179
- }
13180
- ]
13181
- }
13182
- ]
13183
- }
13184
- ```
13175
+ **Arrays of Arrays**
13176
+ - The mapper has no working type for them: `arrayarray` saves, but every record
13177
+ fails with `Destination datatype is a required field.` Build an array of arrays
13178
+ in a script hook instead.
13185
13179
 
13186
13180
  **Important details**
13187
13181
 
@@ -13599,8 +13593,8 @@ components:
13599
13593
  nature is essential for building effective mappings:
13600
13594
 
13601
13595
  1. The schema is self-referential by design - a mapping can contain nested mappings of the same structure
13602
- 2. Complex data structures (nested objects, arrays of objects, arrays of arrays of objects) are ALL
13603
- handled through this recursive pattern
13596
+ 2. Complex data structures (nested objects and arrays of objects, to any depth) are ALL
13597
+ handled through this recursive pattern; an array of arrays is not (build one in a script hook)
13604
13598
  3. Each mapping handles one level of the data structure; deeper levels are handled by nested mappings
13605
13599
 
13606
13600
  When generating mappings programmatically:
@@ -13654,9 +13648,8 @@ components:
13654
13648
  - For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
13655
13649
  - For object fields: Set to the object property name, then add child mappings in the 'mappings' array
13656
13650
  - For array fields: Set to the array property name, then configure 'buildArrayHelper'
13657
- - Two structural blanks: the inner array item of an array of arrays (it has no field name),
13658
- and the single top-level `objectarray` item of a `rows [ ]` mapping (the array output
13659
- structure — see the array's description). A child-bearing wrapper and a source-only row that
13651
+ - One structural blank: the single top-level `objectarray` item of a `rows [ ]` mapping (the
13652
+ array output structure — see the array's description). A child-bearing wrapper and a source-only row that
13660
13653
  already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
13661
13654
  name changes the output; it does not complete the row
13662
13655
 
@@ -13673,7 +13666,9 @@ components:
13673
13666
  }
13674
13667
  ```
13675
13668
 
13676
- When parsing existing mappings, an empty `generate` inside a parent array is an inner array; an
13669
+ When parsing existing mappings, an empty `generate` on a row inside an `arrayarray` row's
13670
+ `buildArrayHelper` entry is that row's inner array (`arrayarray` fails at run time; see
13671
+ `dataType`); other unnamed rows are the wrappers and source-only rows described above; an
13677
13672
  empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
13678
13673
  structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
13679
13674
  examples:
@@ -13707,17 +13702,25 @@ components:
13707
13702
  - `numberarray`: Array of numbers
13708
13703
  - `booleanarray`: Array of booleans
13709
13704
  - `objectarray`: Array of objects (most common array type)
13710
- - `arrayarray`: Array of arrays (for matrix/table structures)
13711
13705
 
13712
- Array dataTypes can be populated three ways: pass a source array
13713
- through unchanged via a JSONPath `extract` alone (when the source is
13714
- already an array of the right shape), construct/iterate via
13715
- `buildArrayHelper`, or set a constant with `hardCodedValue`.
13706
+ `arrayarray` is not a type the mapper recognizes: a save accepts it, but every record
13707
+ then fails with `Destination datatype is a required field.` Build an array of arrays
13708
+ in a script hook instead.
13709
+
13710
+ Array dataTypes are populated two ways: construct or iterate through
13711
+ `buildArrayHelper` entries, or set a constant with `hardCodedValue`. The
13712
+ row's own `extract` is never read on an array type: a primitive-array row
13713
+ that has only an `extract` (JSONPath, Handlebars or a literal) yields
13714
+ nothing, with no error, and an `objectarray` row without `buildArrayHelper`
13715
+ or `hardCodedValue` is refused with 422 ("buildArrayHelper" or
13716
+ "hardCodedValue" must be present for object array datatype.). To copy a
13717
+ source array through unchanged, use one entry that iterates it
13718
+ (`buildArrayHelper: [{"extract": "$.items[*]"}]`).
13716
13719
 
13717
13720
  IMPORTANT: The dataType controls which additional fields are relevant:
13718
13721
  - For date-like string fields: extractDateFormat, generateDateFormat, etc. become relevant
13719
13722
  - For object types: 'mappings' array becomes relevant
13720
- - For array types: a JSONPath `extract` alone, `buildArrayHelper`, or `hardCodedValue` (see above)
13723
+ - For array types: `buildArrayHelper` or `hardCodedValue` (see above)
13721
13724
 
13722
13725
  When analyzing existing mappings or generating new ones, always check dataType first
13723
13726
  to understand what additional fields should be present.
@@ -13736,7 +13739,6 @@ components:
13736
13739
  - numberarray
13737
13740
  - booleanarray
13738
13741
  - objectarray
13739
- - arrayarray
13740
13742
  x-enumDescriptions:
13741
13743
  string: Text values; converts other types to their string representation.
13742
13744
  number: Numeric values; attempts conversion from strings.
@@ -13746,7 +13748,6 @@ components:
13746
13748
  numberarray: Array of numeric values.
13747
13749
  booleanarray: Array of boolean values.
13748
13750
  objectarray: Array of objects, the most common array type.
13749
- arrayarray: Array of arrays, used for matrix or table structures.
13750
13751
  examples:
13751
13752
  - string
13752
13753
  - number
@@ -13789,9 +13790,10 @@ components:
13789
13790
  - Valid on scalars and on `object` rows, where the rendered output must
13790
13791
  parse into an object. On an array row the template goes in a
13791
13792
  `buildArrayHelper` entry instead: on an `objectarray` row's own
13792
- `extract` it is refused with 422 ("buildArrayHelper" must be present
13793
- for object array datatype), and on a primitive-array row's own
13794
- `extract` it renders null without an error
13793
+ `extract` it is refused with 422 ("buildArrayHelper" or "hardCodedValue"
13794
+ must be present for object array datatype.), and on a primitive-array
13795
+ row's own `extract` it yields nothing (the field is left out) without an
13796
+ error
13795
13797
 
13796
13798
  ```json
13797
13799
  "extract": "{{record.price}} {{record.currency}}" // Combines two fields
@@ -13933,8 +13935,10 @@ components:
13933
13935
  Explicit JSON `null` is itself a valid fallback: the destination field is written as
13934
13936
  JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
13935
13937
  action). Omitting the key entirely means no fallback — the field is left out of the
13936
- output when the extract is empty (the UI's "Do nothing" action). Failing the record
13937
- instead is `conditional.when: fail_record_when_empty`, which excludes a default.
13938
+ output when the extract is missing or an empty string (the UI's "Do nothing" action),
13939
+ while a null source is still written as null unless `conditional.when` is
13940
+ `extract_not_empty`. Failing the record instead is `conditional.when:
13941
+ fail_record_when_empty`, which excludes a default.
13938
13942
  x-celigo-ai-guidance:
13939
13943
  - |-
13940
13944
  `"default": null` and `"default": ""` are distinct saved values, not
@@ -13942,11 +13946,14 @@ components:
13942
13946
  empty string renders it as `""` when the extract yields nothing.
13943
13947
  Preserve them verbatim when editing or migrating a mapping — dropping
13944
13948
  the key changes runtime behavior from "use null/empty string as
13945
- default value" to "do nothing" (field omitted from the output).
13949
+ default value" to "do nothing" (a missing or `""` source is left out
13950
+ of the output, while a null source is written as null unless
13951
+ `conditional.when` is `extract_not_empty`).
13946
13952
  - |-
13947
13953
  The four "Action to take if source field has no value" choices map to:
13948
- do nothing → no `default` key (optionally `conditional.when:
13949
- extract_not_empty`); use null → `"default": null`; use empty string or
13954
+ do nothing → no `default` key (add `conditional.when:
13955
+ extract_not_empty` to leave a null source out too; without it a null
13956
+ source is written as null); use null → `"default": null`; use empty string or
13950
13957
  a custom value → `"default": "<value>"`; cause the record to fail →
13951
13958
  `conditional.when: fail_record_when_empty` with no `default` key.
13952
13959
  examples:
@@ -14161,8 +14168,7 @@ components:
14161
14168
 
14162
14169
  **When to Use**
14163
14170
  - REQUIRED when dataType ends with "array" (stringarray, objectarray, etc.), unless the
14164
- row passes a source array through with a JSONPath `extract` alone or sets
14165
- `hardCodedValue`
14171
+ row sets `hardCodedValue`: an array row's own `extract` is never read (see `dataType`)
14166
14172
  - Each entry in this array contributes elements to the output array
14167
14173
  - Multiple entries allow combining data from different input arrays
14168
14174
 
@@ -14246,28 +14252,10 @@ components:
14246
14252
  }
14247
14253
  ```
14248
14254
 
14249
- **For Arrays of Arrays (arrayarray)**
14250
- - Similar to objectarray, but inner arrays have empty 'generate' fields
14251
- - Used for matrix/table structures
14252
- ```json
14253
- {
14254
- "generate": "matrix",
14255
- "dataType": "arrayarray",
14256
- "buildArrayHelper": [
14257
- {
14258
- "extract": "$.rows[*]", // For each row in the rows array
14259
- "mappings": [
14260
- {
14261
- "dataType": "numberarray", // Note: No generate field for inner arrays
14262
- "buildArrayHelper": [
14263
- {"extract": "$.rows.columns[*]"} // Notice: "rows" is singular in the composite object
14264
- ]
14265
- }
14266
- ]
14267
- }
14268
- ]
14269
- }
14270
- ```
14255
+ **Arrays of Arrays**
14256
+ - The mapper has no working type for them: `arrayarray` saves, but every record
14257
+ fails with `Destination datatype is a required field.` Build an array of arrays
14258
+ in a script hook instead.
14271
14259
 
14272
14260
  **Important details**
14273
14261
 
@@ -14794,6 +14782,11 @@ components:
14794
14782
  dropped fields. Either map every field downstream logic
14795
14783
  needs forward, or author Transform 2.0 with
14796
14784
  ``mode: "modify"`` instead.
14785
+ - |-
14786
+ An import's ``responseTransform`` is the exception: it accepts
14787
+ version ``"1"`` only (``"2"`` is refused with 422, verified live
14788
+ 2026-10-21), so there, map every response field that response
14789
+ mapping needs.
14797
14790
  items:
14798
14791
  type: array
14799
14792
  items:
@@ -16551,10 +16544,11 @@ components:
16551
16544
 
16552
16545
  Runtime contract: ``options.responseData[]`` (one per
16553
16546
  submitted record; ``{statusCode, errors, _json, ...}`` —
16554
- ``id`` is present on real runs but absent from the
16555
- mock-built envelopes flow test runs substitute) → array of
16556
- the same length, typically mutated to annotate or augment
16557
- per-record errors.
16547
+ ``id`` is the destination record's on real runs; flow test
16548
+ runs substitute the saved ``mockResponse`` or the placeholder
16549
+ response, whose envelope carries the mock's id, such as
16550
+ ``1234567890``) → array of the same length, typically mutated
16551
+ to annotate or augment per-record errors.
16558
16552
  allOf:
16559
16553
  - $ref: '#/components/schemas/Hook'
16560
16554
  postAggregate:
@@ -16593,21 +16587,55 @@ components:
16593
16587
  - transform
16594
16588
  description: |-
16595
16589
  Transformation that reshapes the destination system's response after records are
16596
- imported, before the response is processed by response mappings and downstream
16597
- steps. Commonly used to extract relevant fields from verbose API responses.
16590
+ imported: it runs after the postSubmit hook, on each record's response body (`_json`),
16591
+ and its output replaces that body, so response mapping can't read a field the
16592
+ transform drops. Expression rules use version `"1"` (`rules`); version `"2"` is refused
16593
+ on save. Commonly used to extract relevant fields from verbose API responses.
16598
16594
  allOf:
16599
16595
  - $ref: '#/components/schemas/Transform'
16596
+ - type: object
16597
+ properties:
16598
+ expression:
16599
+ type: object
16600
+ properties:
16601
+ version:
16602
+ type: string
16603
+ enum:
16604
+ - '1'
16605
+ x-enumDescriptions:
16606
+ '1': Transformation 1.0 rules in `rules`, the only version an import's response transform accepts.
16607
+ description: Must be `"1"` on an import's response transform; `"2"` is refused with 422.
16600
16608
  x-celigo-ai-guidance:
16609
+ - |-
16610
+ Verified live 2026-10-21 on an HTTP import in a flow run: the postSubmit hook's changes
16611
+ to `responseData[i]._json` were in the transform's input, the transform's output replaced
16612
+ `_json` (only the mapped fields were kept), and response mapping then found nothing at a
16613
+ dropped field's path. The execution-log stage is `responseTransformation`, and
16614
+ `POST /v1/imports/{_id}/invoke` returns the transformed body.
16615
+ - |-
16616
+ A save with `expression.version: "2"` (`rulesTwoDotZero`) fails with 422 "`2` is not a
16617
+ valid enum value for path `responseTransform.expression.version`." Write `version: "1"`
16618
+ rules (`[[{extract, generate}, ...]]`).
16601
16619
  - |-
16602
16620
  ## IMPORT-SPECIFIC BEHAVIOR
16603
16621
 
16604
- **Response Transformation**: Transforms the response data returned by the destination system after records have been imported. This allows you to reshape, filter, or enrich the response before it is processed by downstream flow steps or returned to the client.
16622
+ **Response Transformation**: Transforms the response data returned by the destination system after records have been imported. This allows you to reshape, filter, or enrich the response before response mapping reads it; the record passed downstream is the incoming record plus what response mapping copies out.
16605
16623
 
16606
16624
  **Common Use Cases**:
16607
16625
  - Extracting relevant fields from verbose API responses
16608
16626
  - Normalizing response formats across different destination systems
16609
16627
  - Adding computed fields based on response data
16610
16628
  - Filtering out sensitive information before logging or further processing
16629
+ - |-
16630
+ ## Transformation 1.0 rules only, and what response mapping reads
16631
+
16632
+ Expression rules here are Transformation 1.0 only (`expression.version: "1"`, the
16633
+ `rules` array) or a script: a version "2" expression is refused with 422
16634
+ (`` `2` is not a valid enum value for path `responseTransform.expression.version`. ``).
16635
+ The rules read the parsed response body, and their output replaces `_json`. v1 rules
16636
+ keep only the fields they generate, so the step's response mapping reads those
16637
+ names (at the envelope root or under `_json`) and nothing the rules dropped; `id`
16638
+ still resolves.
16611
16639
  modelMetadata:
16612
16640
  type: object
16613
16641
  description: Metadata about the destination data model captured for this import. Rarely set.
@@ -16637,6 +16665,11 @@ components:
16637
16665
  default to Mapper 2.0 at the top-level ``mappings`` (plural) field.
16638
16666
  Do not set this field unsolicited; the v2 default produces better
16639
16667
  output for modern connectors.
16668
+
16669
+ An import that carries both this field and ``mappings`` runs only
16670
+ ``mappings``: the Mapper 1.0 rows are ignored, with no error. A
16671
+ conversion to Mapper 2.0 therefore translates every row and removes
16672
+ this field in the same save.
16640
16673
  - |-
16641
16674
  Allowed (but not the default) on other import adaptors such as
16642
16675
  ``HTTPImport``, ``RDBMSImport``, ``FTPImport``, and
@@ -2364,14 +2364,15 @@ components:
2364
2364
  - username: John Doe
2365
2365
  disabled:
2366
2366
  type: boolean
2367
- default: true
2367
+ default: false
2368
2368
  description: |-
2369
2369
  When true, the prompt is hidden from MCP clients — omitted from
2370
- `prompts/list` and not fetchable via `prompts/get`. New prompts
2371
- default to disabled; set to false to expose the prompt. An enabled
2372
- prompt also satisfies the server-level enablement rule on its own.
2373
- Prompts saved before this field existed are reported as
2374
- `disabled: false`.
2370
+ `prompts/list` and not fetchable via `prompts/get`. A prompt sent
2371
+ without `disabled` is saved enabled, unlike tool, API and resource
2372
+ entries, which default to disabled; send `true` to keep a new prompt
2373
+ hidden. An enabled prompt also satisfies the server-level enablement
2374
+ rule on its own. Prompts saved before this field existed are reported
2375
+ as `disabled: false`.
2375
2376
  examples:
2376
2377
  - false
2377
2378
  - true