@celigo/api-specs 0.2.171 → 0.2.173
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 +65 -19
- package/dist/api.yml +15 -4
- package/dist/asynchelper.yml +38 -13
- package/dist/enduser.yml +5 -1
- package/dist/export.yml +283 -34
- package/dist/flow.yml +86 -21
- package/dist/guardrail.yml +16 -5
- package/dist/httpconnector.yml +21 -4
- package/dist/httpconnectorresource.yml +22 -5
- package/dist/import.yml +358 -49
- package/dist/integration.yml +210 -12
- package/dist/job.yml +5 -1
- package/dist/mcp-oauth-provider.yml +10 -3
- package/dist/mcp-server.yml +11 -3
- package/dist/tool.yml +371 -53
- package/dist/tradingpartnerconnector.yml +22 -5
- package/package.json +1 -1
- package/schemas.json +2 -1
package/dist/import.yml
CHANGED
|
@@ -1810,6 +1810,8 @@ components:
|
|
|
1810
1810
|
Reference the existing record ID in the UPDATE URI with `{{{data.0.fieldName}}}` (triple braces with the data.0 prefix).
|
|
1811
1811
|
Use separate array elements per operation rather than `{{#if}}` conditionals inside a single URI.
|
|
1812
1812
|
URI templates render strictly: a path that is undefined on the record — such as `record.<field>` on a grouped record, whose root is `rows` — fails the request instead of rendering empty.
|
|
1813
|
+
A field the record lacks, or a `{{lookup.<name>}}` whose lookup found nothing, fails that record before anything is sent, with `handlebars_template_parse_error` (source `application`, classification `parse`): `Failed to generate request url from template: <URL>. Details: "<field>" not defined in the model.` That is missing data, not template syntax, and a retry of the same record fails the same way: send records that may lack the destination id through a composite UPDATE/CREATE import (`existingExtract`), or skip them with `ignoreMissing` and `ignoreExtract`.
|
|
1814
|
+
A field that holds an empty string or null is defined: it renders empty, and the request is sent without the value.
|
|
1813
1815
|
x-celigo-ai-guidance:
|
|
1814
1816
|
- '**CRITICAL: This MUST be an array of strings, NOT an object.**'
|
|
1815
1817
|
- |-
|
|
@@ -2853,9 +2855,17 @@ components:
|
|
|
2853
2855
|
extract:
|
|
2854
2856
|
type: string
|
|
2855
2857
|
description: |
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2858
|
+
Path to the lookup value in the HTTP response body, written
|
|
2859
|
+
without a ``$.`` prefix: ``id``, ``results[0].id``, or ``ids``
|
|
2860
|
+
for an array of ids. A ``$.``-prefixed path, a ``[*]``
|
|
2861
|
+
wildcard, or a dot path through an array (``results.id``)
|
|
2862
|
+
resolves nothing, so the lookup misses: with
|
|
2863
|
+
``allowFailures: false`` the record fails
|
|
2864
|
+
(``batch_lookup_evaluation_failed``); otherwise it goes on with
|
|
2865
|
+
``default`` or without the value, and nothing errors. A
|
|
2866
|
+
composite import whose ``existingLookupName`` names such a
|
|
2867
|
+
lookup sends every record to CREATE. Mapper 2.0 mapping
|
|
2868
|
+
extracts are the opposite: they take the ``$.``.
|
|
2859
2869
|
_lookupCacheId:
|
|
2860
2870
|
type: string
|
|
2861
2871
|
format: objectId
|
|
@@ -2879,13 +2889,17 @@ components:
|
|
|
2879
2889
|
- string
|
|
2880
2890
|
- 'null'
|
|
2881
2891
|
description: |
|
|
2882
|
-
Value
|
|
2883
|
-
|
|
2884
|
-
|
|
2892
|
+
Value written when the lookup finds no match and the miss is
|
|
2893
|
+
allowed (``allowFailures`` true, or omitted on a static
|
|
2894
|
+
``map``). A save refuses a ``default`` together with an
|
|
2895
|
+
explicit ``allowFailures: false`` (422 "Lookups with default
|
|
2896
|
+
set can not have allowFailures explicitly set to false."), so
|
|
2897
|
+
a lookup either fails a miss (``allowFailures: false``, no
|
|
2898
|
+
default) or falls back to its default. Stored as null when no
|
|
2885
2899
|
fallback is configured.
|
|
2886
2900
|
x-celigo-ai-guidance:
|
|
2887
2901
|
- '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 `""`.'
|
|
2888
|
-
- 'A
|
|
2902
|
+
- 'A default raises no error: every unmatched value goes out as the default with a 200. Set one only when a single fallback is right for every value the lookup can''t match; when a miss must stop the record, set allowFailures: false and leave the default out. An ambiguous answer (two or more matches) doesn''t use the default either: see useDefaultOnMultipleMatches.'
|
|
2889
2903
|
allowFailures:
|
|
2890
2904
|
type:
|
|
2891
2905
|
- boolean
|
|
@@ -2895,20 +2909,40 @@ components:
|
|
|
2895
2909
|
field out when there is none) and the record continues. When
|
|
2896
2910
|
false, a miss fails the record: ``lookup_error`` ("Could not find
|
|
2897
2911
|
value for static lookup: …") for a static ``map``,
|
|
2898
|
-
``lookupcache_evaluation_failed`` for a cache
|
|
2912
|
+
``lookupcache_evaluation_failed`` for a cache, and
|
|
2913
|
+
``batch_lookup_evaluation_failed`` (source ``internal``, "<field>:
|
|
2914
|
+
The batch lookup could not be evaluated. Check the value in the
|
|
2915
|
+
key '<value>', and try again.") for a live request that matches
|
|
2916
|
+
nothing or whose ``extract`` resolves nothing. Omitted or null,
|
|
2899
2917
|
a miss doesn't fail the record either: a static lookup writes
|
|
2900
2918
|
its ``default`` if it has one, and a lookup without one (static,
|
|
2901
2919
|
cache, or a live request that matches nothing or fails) leaves
|
|
2902
2920
|
the mapped field out.
|
|
2921
|
+
|
|
2922
|
+
False is also the only setting under which an ambiguous answer
|
|
2923
|
+
fails the record: two or more values at ``extract`` (an array of
|
|
2924
|
+
ids or of result objects) fail it with ``lookup_conflict``
|
|
2925
|
+
("Multiple matches found for lookup."). Omitted, null or true,
|
|
2926
|
+
the first value is sent with no error, and an array of result
|
|
2927
|
+
objects is written as the text ``[object Object]``. An indexed
|
|
2928
|
+
``extract`` (``ids[0]``) takes the first match whatever this
|
|
2929
|
+
field says, so it hides an ambiguous search rather than fixing
|
|
2930
|
+
it.
|
|
2903
2931
|
x-celigo-ai-guidance:
|
|
2904
2932
|
- Set false explicitly when a miss must stop the record. Leaving the field out lets the record through with the default or without the looked-up value, so a destination that needs the real value gets a request without it and nothing errors.
|
|
2933
|
+
- 'Fix an ambiguous lookup in its search, not here: query on a key that identifies one record (an email, an external id) and keep false, so a search that still finds two fails instead of writing against the first match.'
|
|
2905
2934
|
useDefaultOnMultipleMatches:
|
|
2906
2935
|
type: boolean
|
|
2907
2936
|
description: |
|
|
2908
|
-
|
|
2909
|
-
match.
|
|
2910
|
-
|
|
2911
|
-
|
|
2937
|
+
Meant to return ``default`` when the response holds more than
|
|
2938
|
+
one match. On an HTTP import it has not been seen to take
|
|
2939
|
+
effect: with ``allowFailures`` omitted or true the first match
|
|
2940
|
+
is sent whatever this flag says, with or without a
|
|
2941
|
+
``default``, and with ``allowFailures: false`` the record
|
|
2942
|
+
fails with ``lookup_conflict``. Two or more matches fail the
|
|
2943
|
+
record only when ``allowFailures`` is false (see
|
|
2944
|
+
``allowFailures``), so make the search match one record
|
|
2945
|
+
rather than relying on this flag.
|
|
2912
2946
|
type: array
|
|
2913
2947
|
Ftp:
|
|
2914
2948
|
type: object
|
|
@@ -5121,7 +5155,7 @@ components:
|
|
|
5121
5155
|
|
|
5122
5156
|
This value is used as a fallback when:
|
|
5123
5157
|
1. The source value doesn't match any key in the map
|
|
5124
|
-
2. allowFailures is
|
|
5158
|
+
2. allowFailures is true or omitted
|
|
5125
5159
|
|
|
5126
5160
|
Setting an appropriate default helps prevent flow failures due to unexpected
|
|
5127
5161
|
values and provides predictable behavior for edge cases.
|
|
@@ -5131,8 +5165,10 @@ components:
|
|
|
5131
5165
|
- Original value indicators: "{Original Value}", "No mapping found"
|
|
5132
5166
|
- Neutral values: "Other", "N/A", "Miscellaneous"
|
|
5133
5167
|
|
|
5134
|
-
|
|
5135
|
-
|
|
5168
|
+
A save refuses a default together with an explicit `allowFailures: false`
|
|
5169
|
+
(422 `Lookups with default set can not have allowFailures explicitly set to
|
|
5170
|
+
false.`): a lookup either fails a miss (`allowFailures: false`, no default) or
|
|
5171
|
+
falls back to its default.
|
|
5136
5172
|
examples:
|
|
5137
5173
|
- Unknown
|
|
5138
5174
|
- Other
|
|
@@ -5140,7 +5176,8 @@ components:
|
|
|
5140
5176
|
- Unmapped Value
|
|
5141
5177
|
- '{Original Value}'
|
|
5142
5178
|
x-celigo-ai-guidance:
|
|
5143
|
-
- 'Omit this field entirely when no fallback value is intended: a miss the lookup lets through then leaves the mapped field out, and
|
|
5179
|
+
- 'Omit this field entirely when no fallback value is intended: a miss the lookup lets through then leaves the mapped field out, and `allowFailures: false` (which a save refuses alongside a default) fails it. An empty string is a value, not "no default" — the save accepts `default: ""`, and an allowed miss writes `""`.'
|
|
5180
|
+
- A default sends every unmapped value with no error, so add the missing key to the map when the destination needs the real value; keys match the extracted value exactly (case, spacing and suffixes count), and a save replaces the whole map.
|
|
5144
5181
|
allowFailures:
|
|
5145
5182
|
type:
|
|
5146
5183
|
- boolean
|
|
@@ -12267,15 +12304,30 @@ components:
|
|
|
12267
12304
|
- `"lessthan"`: Value is less than specified value (is less than)
|
|
12268
12305
|
- `"lessthanequals"`: Value is less than or equal to specified value (is less than or equals)
|
|
12269
12306
|
- `"startswith"`: String starts with specified prefix (starts with)
|
|
12307
|
+
- `"notstartswith"`: String does not start with specified prefix (does not start with)
|
|
12270
12308
|
- `"endswith"`: String ends with specified suffix (ends with)
|
|
12309
|
+
- `"notendswith"`: String does not end with specified suffix (does not end with)
|
|
12271
12310
|
- `"contains"`: String contains specified substring (contains)
|
|
12272
12311
|
- `"doesnotcontain"`: String does not contain specified substring (does not contain)
|
|
12273
12312
|
- `"empty"`: Field is missing or empty (is empty)
|
|
12274
12313
|
- `"notempty"`: Field contains a value (is not empty)
|
|
12275
|
-
- `"matches"`: Matches a regular expression (matches)
|
|
12276
|
-
|
|
12277
|
-
|
|
12278
|
-
|
|
12314
|
+
- `"matches"`: Matches a regular expression, ignoring case (matches)
|
|
12315
|
+
|
|
12316
|
+
Operator names are case-insensitive: `NOTEMPTY` and `endsWith` work and are stored
|
|
12317
|
+
as sent. `isempty`, `isnotempty`, `anyof`, `notcontains`, `doesnotstartwith`,
|
|
12318
|
+
`doesnotendwith`, `notmatches`, `doesnotmatch` and `notequal` are not operators:
|
|
12319
|
+
they are refused with 422 "Invalid operation: <name>", with the name in lowercase,
|
|
12320
|
+
both when the filter is saved and by `POST /v1/processors/filter`. To negate a
|
|
12321
|
+
condition, wrap it in `not`.
|
|
12322
|
+
|
|
12323
|
+
The string comparisons (`equals`, `contains`, `startswith`, `endswith` and their
|
|
12324
|
+
negations) are case-sensitive; wrap the field in `lowercase` to compare without case.
|
|
12325
|
+
`matches` is not: every pattern is compiled with the flags `gi`, so `^paid$` also
|
|
12326
|
+
matches `PAID` and `[a-z]` matches capital letters. An inline flag such as `(?i)`
|
|
12327
|
+
makes the pattern invalid. The filter still saves, but in a run every record fails
|
|
12328
|
+
with `FILTER_EVALUATION_FAILED` ("Invalid regular expression: /(?i)…/gi: Invalid
|
|
12329
|
+
group"), and `POST /v1/processors/filter` refuses the call with 422 (live-verified
|
|
12330
|
+
2026-10-22).
|
|
12279
12331
|
|
|
12280
12332
|
**Logical Operators**
|
|
12281
12333
|
- `"and"`: All conditions must be true
|
|
@@ -12565,7 +12617,9 @@ components:
|
|
|
12565
12617
|
x-celigo-refModel: scripts
|
|
12566
12618
|
description: |
|
|
12567
12619
|
Reference to the Script resource that contains the filtering logic. This must be a valid
|
|
12568
|
-
ObjectId of a Script resource
|
|
12620
|
+
ObjectId of a Script resource in this account: any other id fails the save with 422
|
|
12621
|
+
("Only a script owned by the user or a script shared by the Integration App can be used
|
|
12622
|
+
at filter.script._scriptId.").
|
|
12569
12623
|
|
|
12570
12624
|
The referenced script must contain the function specified in the `function` field
|
|
12571
12625
|
and must be written to handle filtering specifically. The script receives
|
|
@@ -12624,7 +12678,11 @@ components:
|
|
|
12624
12678
|
type: string
|
|
12625
12679
|
format: objectId
|
|
12626
12680
|
x-celigo-refModel: scripts
|
|
12627
|
-
description:
|
|
12681
|
+
description: |-
|
|
12682
|
+
Script containing the hook function named in `function`. Send this or `_stackId`, not both.
|
|
12683
|
+
Must be a script in this account: any other id fails the save with 422, naming the hook,
|
|
12684
|
+
such as "Only a script owned by the user or a script shared by the Integration App can
|
|
12685
|
+
be used at hooks.preMap._scriptId." on an import's `preMap`.
|
|
12628
12686
|
_stackId:
|
|
12629
12687
|
type: string
|
|
12630
12688
|
format: objectId
|
|
@@ -12696,7 +12754,11 @@ components:
|
|
|
12696
12754
|
|
|
12697
12755
|
**Simple Types (direct value mapping)**
|
|
12698
12756
|
- `string`: Text values, converts other types to string representation
|
|
12699
|
-
- `number`: Numeric values
|
|
12757
|
+
- `number`: Numeric values. Converts a numeric string (`"24"` → `24`,
|
|
12758
|
+
`"007"` → `7`) and leaves the field out for an empty string; a value
|
|
12759
|
+
holding letters or a thousands separator (`"1,250.00"`) fails the
|
|
12760
|
+
record with `non_parsable_string` (`<generate>: String contains alpha
|
|
12761
|
+
characters`)
|
|
12700
12762
|
- `boolean`: True/false values, converts truthy/falsy values
|
|
12701
12763
|
|
|
12702
12764
|
Dates are represented as strings — use `string` for date fields and
|
|
@@ -12739,8 +12801,14 @@ components:
|
|
|
12739
12801
|
- |-
|
|
12740
12802
|
Missing `dataType` is rejected at save with validation error
|
|
12741
12803
|
`[mandatory_destination_datatype] Destination datatype is a
|
|
12742
|
-
required field.`
|
|
12743
|
-
|
|
12804
|
+
required field.`
|
|
12805
|
+
- |-
|
|
12806
|
+
Give each row the type the destination field expects; `"string"` is
|
|
12807
|
+
not a safe default. It accepts any source value, but sends a numeric
|
|
12808
|
+
source as text (`"24"`), which a destination that checks JSON types
|
|
12809
|
+
refuses. Map numeric destination fields as `number`, which fails a
|
|
12810
|
+
record (`non_parsable_string`) only when the value holds letters or a
|
|
12811
|
+
thousands separator.
|
|
12744
12812
|
enum:
|
|
12745
12813
|
- string
|
|
12746
12814
|
- number
|
|
@@ -12752,7 +12820,7 @@ components:
|
|
|
12752
12820
|
- objectarray
|
|
12753
12821
|
x-enumDescriptions:
|
|
12754
12822
|
string: Text values; converts other types to their string representation.
|
|
12755
|
-
number: Numeric values;
|
|
12823
|
+
number: Numeric values; converts numeric strings, and fails the record (`non_parsable_string`) on letters or a thousands separator.
|
|
12756
12824
|
boolean: True/false values; converts truthy/falsy values.
|
|
12757
12825
|
object: Nested object built from child `mappings`, or copied whole with `extract` (not both).
|
|
12758
12826
|
stringarray: Array of string values.
|
|
@@ -13780,7 +13848,11 @@ components:
|
|
|
13780
13848
|
|
|
13781
13849
|
**Simple Types (direct value mapping)**
|
|
13782
13850
|
- `string`: Text values, converts other types to string representation
|
|
13783
|
-
- `number`: Numeric values
|
|
13851
|
+
- `number`: Numeric values. Converts a numeric string (`"24"` → `24`,
|
|
13852
|
+
`"007"` → `7`) and leaves the field out for an empty string; a value
|
|
13853
|
+
holding letters or a thousands separator (`"1,250.00"`) fails the
|
|
13854
|
+
record with `non_parsable_string` (`<generate>: String contains alpha
|
|
13855
|
+
characters`)
|
|
13784
13856
|
- `boolean`: True/false values, converts truthy/falsy values
|
|
13785
13857
|
|
|
13786
13858
|
Dates are represented as strings — use `string` for date fields and
|
|
@@ -13823,8 +13895,14 @@ components:
|
|
|
13823
13895
|
- |-
|
|
13824
13896
|
Missing `dataType` is rejected at save with validation error
|
|
13825
13897
|
`[mandatory_destination_datatype] Destination datatype is a
|
|
13826
|
-
required field.`
|
|
13827
|
-
|
|
13898
|
+
required field.`
|
|
13899
|
+
- |-
|
|
13900
|
+
Give each row the type the destination field expects; `"string"` is
|
|
13901
|
+
not a safe default. It accepts any source value, but sends a numeric
|
|
13902
|
+
source as text (`"24"`), which a destination that checks JSON types
|
|
13903
|
+
refuses. Map numeric destination fields as `number`, which fails a
|
|
13904
|
+
record (`non_parsable_string`) only when the value holds letters or a
|
|
13905
|
+
thousands separator.
|
|
13828
13906
|
enum:
|
|
13829
13907
|
- string
|
|
13830
13908
|
- number
|
|
@@ -13836,7 +13914,7 @@ components:
|
|
|
13836
13914
|
- objectarray
|
|
13837
13915
|
x-enumDescriptions:
|
|
13838
13916
|
string: Text values; converts other types to their string representation.
|
|
13839
|
-
number: Numeric values;
|
|
13917
|
+
number: Numeric values; converts numeric strings, and fails the record (`non_parsable_string`) on letters or a thousands separator.
|
|
13840
13918
|
boolean: True/false values; converts truthy/falsy values.
|
|
13841
13919
|
object: Nested object built from child `mappings`, or copied whole with `extract` (not both).
|
|
13842
13920
|
stringarray: Array of string values.
|
|
@@ -15177,7 +15255,9 @@ components:
|
|
|
15177
15255
|
Reference to a predefined script resource containing the transformation logic.
|
|
15178
15256
|
|
|
15179
15257
|
The referenced script should contain the function specified in the
|
|
15180
|
-
'function' property.
|
|
15258
|
+
'function' property. It must be a script in this account: any other id fails the save
|
|
15259
|
+
with 422 ("Only a script owned by the user or a script shared by the Integration App can
|
|
15260
|
+
be used at transform.script._scriptId.").
|
|
15181
15261
|
format: objectid
|
|
15182
15262
|
x-celigo-refModel: scripts
|
|
15183
15263
|
examples:
|
|
@@ -15245,8 +15325,10 @@ components:
|
|
|
15245
15325
|
- A dot path from the record root (e.g. `email`, `address.city`), read from the
|
|
15246
15326
|
incoming record. A path that matches no field writes nothing.
|
|
15247
15327
|
- Handlebars template (contains `{{`) for concatenation /
|
|
15248
|
-
formatting / conditional logic (e.g.
|
|
15249
|
-
`{{
|
|
15328
|
+
formatting / conditional logic (e.g. `{{firstName}} {{lastName}}`,
|
|
15329
|
+
`{{#if mobile}}{{mobile}}{{else}}{{phone}}{{/if}}`). The template reads the
|
|
15330
|
+
record's fields by bare name: `{{record.firstName}}` and `{{data.firstName}}`
|
|
15331
|
+
render nothing, so the field is left out even when the record has the value.
|
|
15250
15332
|
|
|
15251
15333
|
A `$.` JSONPath (the Mapper 2.0 `mappings` syntax) reads nothing here, and a bare
|
|
15252
15334
|
string is read as a field path, not a constant: set constants in `hardCodedValue`.
|
|
@@ -15287,8 +15369,9 @@ components:
|
|
|
15287
15369
|
x-celigo-ai-guidance:
|
|
15288
15370
|
- |-
|
|
15289
15371
|
When true, skip this field entirely when ``extract`` / lookup
|
|
15290
|
-
produces empty
|
|
15291
|
-
|
|
15372
|
+
produces an empty string, null or nothing. Without this flag an
|
|
15373
|
+
empty string is written as ``""`` and null as null, either of which
|
|
15374
|
+
may overwrite existing data; a missing source is left out either way.
|
|
15292
15375
|
immutable:
|
|
15293
15376
|
type: boolean
|
|
15294
15377
|
description: When true, the mapped value cannot be overwritten by later mapping steps.
|
|
@@ -15305,7 +15388,15 @@ components:
|
|
|
15305
15388
|
type:
|
|
15306
15389
|
- string
|
|
15307
15390
|
- 'null'
|
|
15308
|
-
description:
|
|
15391
|
+
description: |-
|
|
15392
|
+
Fallback value written when the source value is an empty string, null or
|
|
15393
|
+
missing. Without a default, an empty string and null are written as they are
|
|
15394
|
+
and a missing field is left out.
|
|
15395
|
+
x-celigo-ai-guidance:
|
|
15396
|
+
- |-
|
|
15397
|
+
Use ``default``, not ``hardCodedValue``, for a fallback on a field that is
|
|
15398
|
+
sometimes empty: ``hardCodedValue`` is written on every record and replaces
|
|
15399
|
+
the values that exist.
|
|
15309
15400
|
extractDateFormat:
|
|
15310
15401
|
type: string
|
|
15311
15402
|
description: Date format of the source value, used to parse it before conversion.
|
|
@@ -15421,8 +15512,8 @@ components:
|
|
|
15421
15512
|
id:
|
|
15422
15513
|
type: string
|
|
15423
15514
|
description: |
|
|
15424
|
-
Unique identifier for this field within the form
|
|
15425
|
-
|
|
15515
|
+
Unique identifier for this field within the form: layout containers and conditions
|
|
15516
|
+
refer to the field by it. Use the same string as the field's fieldMap key and its `name`.
|
|
15426
15517
|
examples:
|
|
15427
15518
|
- url
|
|
15428
15519
|
- mode
|
|
@@ -15433,8 +15524,9 @@ components:
|
|
|
15433
15524
|
name:
|
|
15434
15525
|
type: string
|
|
15435
15526
|
description: |
|
|
15436
|
-
|
|
15437
|
-
|
|
15527
|
+
Key the field's value is saved under: one top-level key of the resource's `settings`,
|
|
15528
|
+
which the form also reads the value back from when it opens. Nested objects inside
|
|
15529
|
+
`settings` are written to it directly, not through a form field's `name`.
|
|
15438
15530
|
examples:
|
|
15439
15531
|
- url
|
|
15440
15532
|
- mode
|
|
@@ -15509,11 +15601,19 @@ components:
|
|
|
15509
15601
|
required:
|
|
15510
15602
|
type: boolean
|
|
15511
15603
|
description: |
|
|
15512
|
-
When true, the field must have a value before the form can be submitted.
|
|
15604
|
+
When true, the field must have a value before the form can be submitted. Only the form
|
|
15605
|
+
enforces it: an API write of `settings` is stored without the value.
|
|
15513
15606
|
default: false
|
|
15514
15607
|
examples:
|
|
15515
15608
|
- true
|
|
15516
15609
|
- false
|
|
15610
|
+
defaultValue:
|
|
15611
|
+
description: |
|
|
15612
|
+
Value the form shows while the resource's `settings` holds no value under the field's
|
|
15613
|
+
`name`.
|
|
15614
|
+
examples:
|
|
15615
|
+
- us
|
|
15616
|
+
- true
|
|
15517
15617
|
multiline:
|
|
15518
15618
|
type: boolean
|
|
15519
15619
|
description: |
|
|
@@ -15576,15 +15676,187 @@ components:
|
|
|
15576
15676
|
keyName:
|
|
15577
15677
|
type: string
|
|
15578
15678
|
description: |
|
|
15579
|
-
For keyvalue fields,
|
|
15679
|
+
For keyvalue and staticMap fields, names the first column: each saved row holds that
|
|
15680
|
+
column's value under this key. A keyvalue field without it uses `key`.
|
|
15580
15681
|
examples:
|
|
15581
15682
|
- theKey
|
|
15683
|
+
- source
|
|
15582
15684
|
valueName:
|
|
15583
15685
|
type: string
|
|
15584
15686
|
description: |
|
|
15585
|
-
For keyvalue fields,
|
|
15687
|
+
For keyvalue and staticMap fields, names the second column: each saved row holds that
|
|
15688
|
+
column's value under this key. A keyvalue field without it uses `value`.
|
|
15586
15689
|
examples:
|
|
15587
15690
|
- theValue
|
|
15691
|
+
- target
|
|
15692
|
+
keyLabel:
|
|
15693
|
+
type: string
|
|
15694
|
+
description: |
|
|
15695
|
+
For staticMap fields, heading of the first column.
|
|
15696
|
+
examples:
|
|
15697
|
+
- Source status
|
|
15698
|
+
valueLabel:
|
|
15699
|
+
type: string
|
|
15700
|
+
description: |
|
|
15701
|
+
For staticMap fields, heading of the second column.
|
|
15702
|
+
examples:
|
|
15703
|
+
- Destination status
|
|
15704
|
+
keyOptions:
|
|
15705
|
+
type: array
|
|
15706
|
+
description: |
|
|
15707
|
+
For staticMap fields, suggestions offered in the first column's cells. A cell still
|
|
15708
|
+
accepts a typed value.
|
|
15709
|
+
items:
|
|
15710
|
+
type: object
|
|
15711
|
+
properties:
|
|
15712
|
+
label:
|
|
15713
|
+
type: string
|
|
15714
|
+
description: |
|
|
15715
|
+
Display text for the suggestion.
|
|
15716
|
+
value:
|
|
15717
|
+
type: string
|
|
15718
|
+
description: |
|
|
15719
|
+
Value saved when the suggestion is chosen.
|
|
15720
|
+
examples:
|
|
15721
|
+
- - label: Pending
|
|
15722
|
+
value: pending
|
|
15723
|
+
- label: Shipped
|
|
15724
|
+
value: shipped
|
|
15725
|
+
valueOptions:
|
|
15726
|
+
type: array
|
|
15727
|
+
description: |
|
|
15728
|
+
For staticMap fields, suggestions offered in the second column's cells. A cell still
|
|
15729
|
+
accepts a typed value.
|
|
15730
|
+
items:
|
|
15731
|
+
type: object
|
|
15732
|
+
properties:
|
|
15733
|
+
label:
|
|
15734
|
+
type: string
|
|
15735
|
+
description: |
|
|
15736
|
+
Display text for the suggestion.
|
|
15737
|
+
value:
|
|
15738
|
+
type: string
|
|
15739
|
+
description: |
|
|
15740
|
+
Value saved when the suggestion is chosen.
|
|
15741
|
+
examples:
|
|
15742
|
+
- - label: Open
|
|
15743
|
+
value: open
|
|
15744
|
+
- label: Closed
|
|
15745
|
+
value: closed
|
|
15746
|
+
keyResource:
|
|
15747
|
+
type: object
|
|
15748
|
+
description: |
|
|
15749
|
+
For staticMap fields, fills the first column's suggestions from an export the form
|
|
15750
|
+
carries inline in `virtual`, run the way an exportSelect's `resource` is. With
|
|
15751
|
+
`keyResource` or `valueResource` set, the form requires both columns in every row
|
|
15752
|
+
unless `keyValueRequired` is false.
|
|
15753
|
+
properties:
|
|
15754
|
+
virtual:
|
|
15755
|
+
type: object
|
|
15756
|
+
description: |
|
|
15757
|
+
Export document to run, inline, shaped like an exportSelect's `resource.virtual`.
|
|
15758
|
+
additionalProperties: true
|
|
15759
|
+
valueResource:
|
|
15760
|
+
type: object
|
|
15761
|
+
description: |
|
|
15762
|
+
For staticMap fields, fills the second column's suggestions from an export the form
|
|
15763
|
+
carries inline in `virtual`, run the way an exportSelect's `resource` is.
|
|
15764
|
+
properties:
|
|
15765
|
+
virtual:
|
|
15766
|
+
type: object
|
|
15767
|
+
description: |
|
|
15768
|
+
Export document to run, inline, shaped like an exportSelect's `resource.virtual`.
|
|
15769
|
+
additionalProperties: true
|
|
15770
|
+
keyValueRequired:
|
|
15771
|
+
type: boolean
|
|
15772
|
+
description: |
|
|
15773
|
+
For staticMap fields with `keyResource` or `valueResource`, when false, saves rows
|
|
15774
|
+
that fill only one column; by default the form drops them.
|
|
15775
|
+
default: true
|
|
15776
|
+
examples:
|
|
15777
|
+
- false
|
|
15778
|
+
resource:
|
|
15779
|
+
type: object
|
|
15780
|
+
description: |
|
|
15781
|
+
For exportSelect fields, the export whose records become the options. When the form
|
|
15782
|
+
opens, the UI previews the export in `virtual` (with `test.limit` 100 unless the export
|
|
15783
|
+
sets its own) and lists the preview's `data`: each record needs a `label` and a `value`
|
|
15784
|
+
(a string or number serves as both), so shape them with the export's `transform`. A
|
|
15785
|
+
saved export can't be referenced, and an HTTP export that finds no records leaves the
|
|
15786
|
+
field showing an error instead of options.
|
|
15787
|
+
properties:
|
|
15788
|
+
virtual:
|
|
15789
|
+
type: object
|
|
15790
|
+
description: |
|
|
15791
|
+
Export document to run, inline: `adaptorType`, its adaptor block, and an optional
|
|
15792
|
+
`transform`. `_connectionId` defaults to the connection of the export or import the
|
|
15793
|
+
form belongs to; set it on any other resource's form.
|
|
15794
|
+
additionalProperties: true
|
|
15795
|
+
examples:
|
|
15796
|
+
- virtual:
|
|
15797
|
+
adaptorType: HTTPExport
|
|
15798
|
+
http:
|
|
15799
|
+
relativeURI: /v1/warehouses
|
|
15800
|
+
method: GET
|
|
15801
|
+
formType: http
|
|
15802
|
+
response:
|
|
15803
|
+
resourcePath: warehouses
|
|
15804
|
+
transform:
|
|
15805
|
+
type: expression
|
|
15806
|
+
expression:
|
|
15807
|
+
version: '2'
|
|
15808
|
+
rulesTwoDotZero:
|
|
15809
|
+
mode: create
|
|
15810
|
+
mappings:
|
|
15811
|
+
- generate: label
|
|
15812
|
+
extract: $.name
|
|
15813
|
+
dataType: string
|
|
15814
|
+
status: Active
|
|
15815
|
+
- generate: value
|
|
15816
|
+
extract: $.code
|
|
15817
|
+
dataType: string
|
|
15818
|
+
status: Active
|
|
15819
|
+
multiselect:
|
|
15820
|
+
type: boolean
|
|
15821
|
+
description: |
|
|
15822
|
+
For exportSelect fields, when true, the user can choose several options and the value
|
|
15823
|
+
is saved as an array.
|
|
15824
|
+
default: false
|
|
15825
|
+
examples:
|
|
15826
|
+
- true
|
|
15827
|
+
supportHandlebars:
|
|
15828
|
+
type: boolean
|
|
15829
|
+
description: |
|
|
15830
|
+
For exportSelect fields, when true, renders the `resource.virtual` export as a Handlebars
|
|
15831
|
+
template before each preview (all but its `transform`, `hooks`, and `filter`). On an
|
|
15832
|
+
integration, flow group, flow, export, or import form, the form's current values are
|
|
15833
|
+
under that form's scope name (`integration`, `flowGrouping`, `flow`, `export`, or
|
|
15834
|
+
`import`), beside the saved settings of the scopes above it, with no `settings.`
|
|
15835
|
+
prefix; on a connection or iClient form the template has no context. The options then
|
|
15836
|
+
load through `refreshOptionsOnChangesTo` or `typeAheadSearch`, or when the user
|
|
15837
|
+
refreshes the field.
|
|
15838
|
+
default: false
|
|
15839
|
+
examples:
|
|
15840
|
+
- true
|
|
15841
|
+
refreshOptionsOnChangesTo:
|
|
15842
|
+
type: array
|
|
15843
|
+
items:
|
|
15844
|
+
type: string
|
|
15845
|
+
description: |
|
|
15846
|
+
For exportSelect fields with `supportHandlebars`, ids of the fields whose values the
|
|
15847
|
+
templated export uses: the options load once one of them has a value and reload whenever
|
|
15848
|
+
one changes.
|
|
15849
|
+
examples:
|
|
15850
|
+
- - region
|
|
15851
|
+
typeAheadSearch:
|
|
15852
|
+
type: boolean
|
|
15853
|
+
description: |
|
|
15854
|
+
For exportSelect fields, when true, re-runs the templated export as the user types, with
|
|
15855
|
+
the typed text as this field's own value; an empty box clears the options, and typed
|
|
15856
|
+
text is accepted as the value.
|
|
15857
|
+
default: false
|
|
15858
|
+
examples:
|
|
15859
|
+
- true
|
|
15588
15860
|
showDelete:
|
|
15589
15861
|
type: boolean
|
|
15590
15862
|
description: |
|
|
@@ -15685,7 +15957,9 @@ components:
|
|
|
15685
15957
|
field:
|
|
15686
15958
|
type: string
|
|
15687
15959
|
description: |
|
|
15688
|
-
The ID of another field whose value controls the visibility of this field.
|
|
15960
|
+
The ID of another field whose value controls the visibility of this field. The
|
|
15961
|
+
save doesn't check it: a rule naming an ID that isn't in the form counts as met,
|
|
15962
|
+
so the field stays visible.
|
|
15689
15963
|
examples:
|
|
15690
15964
|
- mode
|
|
15691
15965
|
is:
|
|
@@ -15721,7 +15995,7 @@ components:
|
|
|
15721
15995
|
- tabWithoutSave
|
|
15722
15996
|
- verticalTabWithoutSave
|
|
15723
15997
|
x-enumDescriptions:
|
|
15724
|
-
column:
|
|
15998
|
+
column: Places the containers side by side, one column each.
|
|
15725
15999
|
collapse: Groups fields into collapsible/expandable sections.
|
|
15726
16000
|
box: Wraps field groups in bordered boxes with headings.
|
|
15727
16001
|
indent: Indents field groups to show hierarchy.
|
|
@@ -15730,6 +16004,15 @@ components:
|
|
|
15730
16004
|
examples:
|
|
15731
16005
|
- column
|
|
15732
16006
|
- collapse
|
|
16007
|
+
fields:
|
|
16008
|
+
type: array
|
|
16009
|
+
items:
|
|
16010
|
+
type: string
|
|
16011
|
+
description: |
|
|
16012
|
+
Field IDs shown above the containers, without a heading.
|
|
16013
|
+
examples:
|
|
16014
|
+
- - region
|
|
16015
|
+
- vatNumber
|
|
15733
16016
|
containers:
|
|
15734
16017
|
type: array
|
|
15735
16018
|
description: |
|
|
@@ -15769,7 +16052,8 @@ components:
|
|
|
15769
16052
|
type: string
|
|
15770
16053
|
description: |
|
|
15771
16054
|
Array of field IDs that should be displayed in this container.
|
|
15772
|
-
Each ID must correspond to a key in the fieldMap object
|
|
16055
|
+
Each ID must correspond to a key in the fieldMap object: the save doesn't check it,
|
|
16056
|
+
and an ID that doesn't renders nothing. A field the layout doesn't list isn't shown.
|
|
15773
16057
|
examples:
|
|
15774
16058
|
- - A
|
|
15775
16059
|
- url
|
|
@@ -15846,6 +16130,9 @@ components:
|
|
|
15846
16130
|
|
|
15847
16131
|
The function must return a valid form object that the UI can render.
|
|
15848
16132
|
Throwing an exception will signal an error to the user.
|
|
16133
|
+
|
|
16134
|
+
The UI runs the function each time it opens the form and renders the returned form instead of
|
|
16135
|
+
`form`, then fills in the values from `settings`; a thrown error's message replaces the form.
|
|
15849
16136
|
properties:
|
|
15850
16137
|
function:
|
|
15851
16138
|
type: string
|
|
@@ -15869,8 +16156,10 @@ components:
|
|
|
15869
16156
|
Reference to a predefined script resource containing the initialization function.
|
|
15870
16157
|
|
|
15871
16158
|
The referenced script should contain the function specified in the
|
|
15872
|
-
'function' property.
|
|
15873
|
-
|
|
16159
|
+
'function' property. On an integration, a flow group, a flow, an export, an import, or a
|
|
16160
|
+
connection, an id that isn't a script in the same account (or, on an Integration App's
|
|
16161
|
+
resources, one the app shares) is refused with 422 `invalid_ref`. An iClient save
|
|
16162
|
+
stores the id without that check.
|
|
15874
16163
|
examples:
|
|
15875
16164
|
- 60a2c4e6f321d800129a1a3c
|
|
15876
16165
|
- 5f8d43a1b9e5a80011a35f2c
|
|
@@ -16591,6 +16880,15 @@ components:
|
|
|
16591
16880
|
plus whatever this step's response mapping merges back. A value later steps need
|
|
16592
16881
|
belongs in the source export's `preSavePage`, in this step's `postResponseMap` hook on
|
|
16593
16882
|
the flow, or in the later import's own `preMap`.
|
|
16883
|
+
|
|
16884
|
+
The function returns one element per record in `options.data`, in order:
|
|
16885
|
+
`{ data: <record> }` sends the record and `{ errors: [{ code, message }] }` fails it.
|
|
16886
|
+
An element without `data` — `{}`, or the record itself returned unwrapped — skips that
|
|
16887
|
+
record with no error: nothing is sent and the record is reported `ignored: true` at
|
|
16888
|
+
stage `preMapHook`. A return with more or fewer elements fails every record on the page
|
|
16889
|
+
with `invalid_extension_response` ("Extension result doesn't contain the same number
|
|
16890
|
+
of elements as the request object. Expected 2, got 1. Extension returned statusCode
|
|
16891
|
+
200"), source `pre_map_hook`.
|
|
16594
16892
|
x-celigo-ai-guidance:
|
|
16595
16893
|
- |-
|
|
16596
16894
|
Pre-map JavaScript hook — runs once per page BEFORE the
|
|
@@ -16602,7 +16900,18 @@ components:
|
|
|
16602
16900
|
renames — mappings handle those.
|
|
16603
16901
|
|
|
16604
16902
|
Runtime contract: ``options.data[]`` (the page of upstream
|
|
16605
|
-
records) → array of the same length
|
|
16903
|
+
records) → array of the same length, each element
|
|
16904
|
+
``{data: record}`` or ``{errors: [...]}``. A bare record in
|
|
16905
|
+
the returned array is skipped without an error, so
|
|
16906
|
+
``options.data.map(r => { r.total = t; return r })`` sends
|
|
16907
|
+
nothing.
|
|
16908
|
+
- |-
|
|
16909
|
+
Verified live 2026-10-22 by invoking an HTTP import with a
|
|
16910
|
+
Mapper 2.0 number mapping: one ``{data: record}`` per record
|
|
16911
|
+
sent both records; the bare records sent nothing and both
|
|
16912
|
+
came back ``ignored: true``, ``stage: preMapHook``, with no
|
|
16913
|
+
error; one element for two records failed both with 422
|
|
16914
|
+
``invalid_extension_response``.
|
|
16606
16915
|
allOf:
|
|
16607
16916
|
- $ref: '#/components/schemas/Hook'
|
|
16608
16917
|
postMap:
|