@celigo/api-specs 0.2.170 → 0.2.172
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 +74 -217
- package/dist/asynchelper.yml +35 -12
- package/dist/audit.yml +82 -19
- package/dist/export.yml +269 -30
- package/dist/fileserver.yml +59 -8
- package/dist/flow.yml +38 -15
- package/dist/guardrail.yml +38 -23
- package/dist/httpconnector.yml +18 -3
- package/dist/httpconnectorresource.yml +19 -4
- package/dist/import.yml +341 -70
- package/dist/integration.yml +210 -12
- package/dist/job.yml +5 -1
- package/dist/networkpolicy.yml +4 -0
- package/dist/tool.yml +346 -72
- package/dist/tradingpartnerconnector.yml +19 -4
- package/package.json +1 -1
- package/schemas.json +1318 -1328
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
|
|
@@ -9674,7 +9711,7 @@ components:
|
|
|
9674
9711
|
x-enumDescriptions:
|
|
9675
9712
|
text: Free-form text response from the model.
|
|
9676
9713
|
json_schema: Structured JSON output conforming to a defined schema.
|
|
9677
|
-
blob:
|
|
9714
|
+
blob: Image generation — the run calls the image generation tool and returns the stored image's `blobKey`, not `_text` or `_json`.
|
|
9678
9715
|
default: text
|
|
9679
9716
|
description: Output format type.
|
|
9680
9717
|
schemaMode:
|
|
@@ -9896,11 +9933,6 @@ components:
|
|
|
9896
9933
|
an object without a non-empty name fails with a
|
|
9897
9934
|
missing-required-field error. String entries are the
|
|
9898
9935
|
legacy form and stay valid.
|
|
9899
|
-
allowedPrompts:
|
|
9900
|
-
type: array
|
|
9901
|
-
description: Specific prompts to allow from the MCP server (used for MCP prompt entries; all if omitted).
|
|
9902
|
-
items:
|
|
9903
|
-
type: string
|
|
9904
9936
|
tool:
|
|
9905
9937
|
type: object
|
|
9906
9938
|
description: |
|
|
@@ -10043,7 +10075,7 @@ components:
|
|
|
10043
10075
|
x-enumDescriptions:
|
|
10044
10076
|
text: Free-form text response from the model.
|
|
10045
10077
|
json_schema: Structured JSON output conforming to a defined schema.
|
|
10046
|
-
blob:
|
|
10078
|
+
blob: Image generation — the run returns the stored image's `blobKey`, not `_text` or `_json`.
|
|
10047
10079
|
default: text
|
|
10048
10080
|
schemaMode:
|
|
10049
10081
|
type: string
|
|
@@ -10212,11 +10244,6 @@ components:
|
|
|
10212
10244
|
description: Display description shown for the tool.
|
|
10213
10245
|
required:
|
|
10214
10246
|
- name
|
|
10215
|
-
allowedPrompts:
|
|
10216
|
-
type: array
|
|
10217
|
-
description: Specific prompts to allow from the MCP server (used for MCP prompt entries; all if omitted).
|
|
10218
|
-
items:
|
|
10219
|
-
type: string
|
|
10220
10247
|
tool:
|
|
10221
10248
|
type: object
|
|
10222
10249
|
description: Reference to a Celigo Tool resource, used when type is "tool".
|
|
@@ -10729,9 +10756,9 @@ components:
|
|
|
10729
10756
|
LLM configuration for an `ai_agent` guardrail — which provider and model evaluate each
|
|
10730
10757
|
record, with instructions, parameter tuning, and output format. Guardrails never invoke
|
|
10731
10758
|
tools, so unlike an AI agent import no block here accepts a `tools` array. MCP `prompts`
|
|
10732
|
-
and `resources` are accepted on save
|
|
10733
|
-
|
|
10734
|
-
|
|
10759
|
+
and `resources` are accepted on save but never used at run time, so put the policy the
|
|
10760
|
+
guardrail must apply in its instructions. Providers come in two families with two
|
|
10761
|
+
configuration formats:
|
|
10735
10762
|
|
|
10736
10763
|
- **Built-in providers** — each has its own configuration block.
|
|
10737
10764
|
- **openai**: OpenAI models (GPT-4.1, GPT-5, etc.). Configure via the `openai` object.
|
|
@@ -10896,7 +10923,7 @@ components:
|
|
|
10896
10923
|
type: array
|
|
10897
10924
|
description: |-
|
|
10898
10925
|
MCP prompt entries saved with a catalog-provider guardrail (generic flat format).
|
|
10899
|
-
Each entry references one MCP connection and
|
|
10926
|
+
Each entry references one MCP connection and prompt names; a guardrail's run never fetches them.
|
|
10900
10927
|
items:
|
|
10901
10928
|
type: object
|
|
10902
10929
|
properties:
|
|
@@ -10917,7 +10944,7 @@ components:
|
|
|
10917
10944
|
description: Connection to the MCP server that exposes the prompts.
|
|
10918
10945
|
allowedPrompts:
|
|
10919
10946
|
type: array
|
|
10920
|
-
description: Prompt names the
|
|
10947
|
+
description: Prompt names saved with the entry; a guardrail's run never fetches them.
|
|
10921
10948
|
items:
|
|
10922
10949
|
type: string
|
|
10923
10950
|
x-celigo-ai-guidance:
|
|
@@ -11174,7 +11201,7 @@ components:
|
|
|
11174
11201
|
type: array
|
|
11175
11202
|
description: |-
|
|
11176
11203
|
MCP prompt entries saved with the guardrail. Each item references one
|
|
11177
|
-
MCP connection and
|
|
11204
|
+
MCP connection and prompt names; a guardrail's run never fetches them.
|
|
11178
11205
|
items:
|
|
11179
11206
|
type: object
|
|
11180
11207
|
properties:
|
|
@@ -11196,7 +11223,7 @@ components:
|
|
|
11196
11223
|
description: Connection to the MCP server.
|
|
11197
11224
|
allowedPrompts:
|
|
11198
11225
|
type: array
|
|
11199
|
-
description: Prompt names
|
|
11226
|
+
description: Prompt names saved with the entry; a guardrail's run never fetches them.
|
|
11200
11227
|
items:
|
|
11201
11228
|
type: string
|
|
11202
11229
|
resources:
|
|
@@ -11363,7 +11390,7 @@ components:
|
|
|
11363
11390
|
type: array
|
|
11364
11391
|
description: |-
|
|
11365
11392
|
MCP prompt entries saved with a Gemini guardrail. Each item references one
|
|
11366
|
-
MCP connection and
|
|
11393
|
+
MCP connection and prompt names; a guardrail's run never fetches them.
|
|
11367
11394
|
items:
|
|
11368
11395
|
type: object
|
|
11369
11396
|
properties:
|
|
@@ -11385,7 +11412,7 @@ components:
|
|
|
11385
11412
|
description: Connection to the MCP server.
|
|
11386
11413
|
allowedPrompts:
|
|
11387
11414
|
type: array
|
|
11388
|
-
description: Prompt names
|
|
11415
|
+
description: Prompt names saved with the entry; a guardrail's run never fetches them.
|
|
11389
11416
|
items:
|
|
11390
11417
|
type: string
|
|
11391
11418
|
resources:
|
|
@@ -11585,7 +11612,7 @@ components:
|
|
|
11585
11612
|
type: array
|
|
11586
11613
|
description: |-
|
|
11587
11614
|
MCP prompt entries saved with a Claude guardrail. Each item references one
|
|
11588
|
-
MCP connection and
|
|
11615
|
+
MCP connection and prompt names; a guardrail's run never fetches them.
|
|
11589
11616
|
items:
|
|
11590
11617
|
type: object
|
|
11591
11618
|
properties:
|
|
@@ -11607,7 +11634,7 @@ components:
|
|
|
11607
11634
|
description: Connection to the MCP server.
|
|
11608
11635
|
allowedPrompts:
|
|
11609
11636
|
type: array
|
|
11610
|
-
description: Prompt names
|
|
11637
|
+
description: Prompt names saved with the entry; a guardrail's run never fetches them.
|
|
11611
11638
|
items:
|
|
11612
11639
|
type: string
|
|
11613
11640
|
resources:
|
|
@@ -11709,8 +11736,8 @@ components:
|
|
|
11709
11736
|
`aiAgent.openai.tools`, `aiAgent.litellm._overrides.gemini.tools`, `….anthropic.tools`) —
|
|
11710
11737
|
any non-empty array fails the save with 422 `guardrail_tools_not_allowed` ("Tools aren't
|
|
11711
11738
|
supported on a guardrail AI agent configuration…"), on create and on update. `prompts` and
|
|
11712
|
-
`resources` are accepted on save
|
|
11713
|
-
|
|
11739
|
+
`resources` are accepted on save but never used at run time, so put the policy in the
|
|
11740
|
+
instructions. The server still echoes
|
|
11714
11741
|
`openai.tools: []` on OpenAI guardrails.
|
|
11715
11742
|
properties:
|
|
11716
11743
|
type:
|
|
@@ -12277,15 +12304,30 @@ components:
|
|
|
12277
12304
|
- `"lessthan"`: Value is less than specified value (is less than)
|
|
12278
12305
|
- `"lessthanequals"`: Value is less than or equal to specified value (is less than or equals)
|
|
12279
12306
|
- `"startswith"`: String starts with specified prefix (starts with)
|
|
12307
|
+
- `"notstartswith"`: String does not start with specified prefix (does not start with)
|
|
12280
12308
|
- `"endswith"`: String ends with specified suffix (ends with)
|
|
12309
|
+
- `"notendswith"`: String does not end with specified suffix (does not end with)
|
|
12281
12310
|
- `"contains"`: String contains specified substring (contains)
|
|
12282
12311
|
- `"doesnotcontain"`: String does not contain specified substring (does not contain)
|
|
12283
12312
|
- `"empty"`: Field is missing or empty (is empty)
|
|
12284
12313
|
- `"notempty"`: Field contains a value (is not empty)
|
|
12285
|
-
- `"matches"`: Matches a regular expression (matches)
|
|
12286
|
-
|
|
12287
|
-
|
|
12288
|
-
|
|
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).
|
|
12289
12331
|
|
|
12290
12332
|
**Logical Operators**
|
|
12291
12333
|
- `"and"`: All conditions must be true
|
|
@@ -12706,7 +12748,11 @@ components:
|
|
|
12706
12748
|
|
|
12707
12749
|
**Simple Types (direct value mapping)**
|
|
12708
12750
|
- `string`: Text values, converts other types to string representation
|
|
12709
|
-
- `number`: Numeric values
|
|
12751
|
+
- `number`: Numeric values. Converts a numeric string (`"24"` → `24`,
|
|
12752
|
+
`"007"` → `7`) and leaves the field out for an empty string; a value
|
|
12753
|
+
holding letters or a thousands separator (`"1,250.00"`) fails the
|
|
12754
|
+
record with `non_parsable_string` (`<generate>: String contains alpha
|
|
12755
|
+
characters`)
|
|
12710
12756
|
- `boolean`: True/false values, converts truthy/falsy values
|
|
12711
12757
|
|
|
12712
12758
|
Dates are represented as strings — use `string` for date fields and
|
|
@@ -12749,8 +12795,14 @@ components:
|
|
|
12749
12795
|
- |-
|
|
12750
12796
|
Missing `dataType` is rejected at save with validation error
|
|
12751
12797
|
`[mandatory_destination_datatype] Destination datatype is a
|
|
12752
|
-
required field.`
|
|
12753
|
-
|
|
12798
|
+
required field.`
|
|
12799
|
+
- |-
|
|
12800
|
+
Give each row the type the destination field expects; `"string"` is
|
|
12801
|
+
not a safe default. It accepts any source value, but sends a numeric
|
|
12802
|
+
source as text (`"24"`), which a destination that checks JSON types
|
|
12803
|
+
refuses. Map numeric destination fields as `number`, which fails a
|
|
12804
|
+
record (`non_parsable_string`) only when the value holds letters or a
|
|
12805
|
+
thousands separator.
|
|
12754
12806
|
enum:
|
|
12755
12807
|
- string
|
|
12756
12808
|
- number
|
|
@@ -12762,7 +12814,7 @@ components:
|
|
|
12762
12814
|
- objectarray
|
|
12763
12815
|
x-enumDescriptions:
|
|
12764
12816
|
string: Text values; converts other types to their string representation.
|
|
12765
|
-
number: Numeric values;
|
|
12817
|
+
number: Numeric values; converts numeric strings, and fails the record (`non_parsable_string`) on letters or a thousands separator.
|
|
12766
12818
|
boolean: True/false values; converts truthy/falsy values.
|
|
12767
12819
|
object: Nested object built from child `mappings`, or copied whole with `extract` (not both).
|
|
12768
12820
|
stringarray: Array of string values.
|
|
@@ -13790,7 +13842,11 @@ components:
|
|
|
13790
13842
|
|
|
13791
13843
|
**Simple Types (direct value mapping)**
|
|
13792
13844
|
- `string`: Text values, converts other types to string representation
|
|
13793
|
-
- `number`: Numeric values
|
|
13845
|
+
- `number`: Numeric values. Converts a numeric string (`"24"` → `24`,
|
|
13846
|
+
`"007"` → `7`) and leaves the field out for an empty string; a value
|
|
13847
|
+
holding letters or a thousands separator (`"1,250.00"`) fails the
|
|
13848
|
+
record with `non_parsable_string` (`<generate>: String contains alpha
|
|
13849
|
+
characters`)
|
|
13794
13850
|
- `boolean`: True/false values, converts truthy/falsy values
|
|
13795
13851
|
|
|
13796
13852
|
Dates are represented as strings — use `string` for date fields and
|
|
@@ -13833,8 +13889,14 @@ components:
|
|
|
13833
13889
|
- |-
|
|
13834
13890
|
Missing `dataType` is rejected at save with validation error
|
|
13835
13891
|
`[mandatory_destination_datatype] Destination datatype is a
|
|
13836
|
-
required field.`
|
|
13837
|
-
|
|
13892
|
+
required field.`
|
|
13893
|
+
- |-
|
|
13894
|
+
Give each row the type the destination field expects; `"string"` is
|
|
13895
|
+
not a safe default. It accepts any source value, but sends a numeric
|
|
13896
|
+
source as text (`"24"`), which a destination that checks JSON types
|
|
13897
|
+
refuses. Map numeric destination fields as `number`, which fails a
|
|
13898
|
+
record (`non_parsable_string`) only when the value holds letters or a
|
|
13899
|
+
thousands separator.
|
|
13838
13900
|
enum:
|
|
13839
13901
|
- string
|
|
13840
13902
|
- number
|
|
@@ -13846,7 +13908,7 @@ components:
|
|
|
13846
13908
|
- objectarray
|
|
13847
13909
|
x-enumDescriptions:
|
|
13848
13910
|
string: Text values; converts other types to their string representation.
|
|
13849
|
-
number: Numeric values;
|
|
13911
|
+
number: Numeric values; converts numeric strings, and fails the record (`non_parsable_string`) on letters or a thousands separator.
|
|
13850
13912
|
boolean: True/false values; converts truthy/falsy values.
|
|
13851
13913
|
object: Nested object built from child `mappings`, or copied whole with `extract` (not both).
|
|
13852
13914
|
stringarray: Array of string values.
|
|
@@ -15255,8 +15317,10 @@ components:
|
|
|
15255
15317
|
- A dot path from the record root (e.g. `email`, `address.city`), read from the
|
|
15256
15318
|
incoming record. A path that matches no field writes nothing.
|
|
15257
15319
|
- Handlebars template (contains `{{`) for concatenation /
|
|
15258
|
-
formatting / conditional logic (e.g.
|
|
15259
|
-
`{{
|
|
15320
|
+
formatting / conditional logic (e.g. `{{firstName}} {{lastName}}`,
|
|
15321
|
+
`{{#if mobile}}{{mobile}}{{else}}{{phone}}{{/if}}`). The template reads the
|
|
15322
|
+
record's fields by bare name: `{{record.firstName}}` and `{{data.firstName}}`
|
|
15323
|
+
render nothing, so the field is left out even when the record has the value.
|
|
15260
15324
|
|
|
15261
15325
|
A `$.` JSONPath (the Mapper 2.0 `mappings` syntax) reads nothing here, and a bare
|
|
15262
15326
|
string is read as a field path, not a constant: set constants in `hardCodedValue`.
|
|
@@ -15297,8 +15361,9 @@ components:
|
|
|
15297
15361
|
x-celigo-ai-guidance:
|
|
15298
15362
|
- |-
|
|
15299
15363
|
When true, skip this field entirely when ``extract`` / lookup
|
|
15300
|
-
produces empty
|
|
15301
|
-
|
|
15364
|
+
produces an empty string, null or nothing. Without this flag an
|
|
15365
|
+
empty string is written as ``""`` and null as null, either of which
|
|
15366
|
+
may overwrite existing data; a missing source is left out either way.
|
|
15302
15367
|
immutable:
|
|
15303
15368
|
type: boolean
|
|
15304
15369
|
description: When true, the mapped value cannot be overwritten by later mapping steps.
|
|
@@ -15315,7 +15380,15 @@ components:
|
|
|
15315
15380
|
type:
|
|
15316
15381
|
- string
|
|
15317
15382
|
- 'null'
|
|
15318
|
-
description:
|
|
15383
|
+
description: |-
|
|
15384
|
+
Fallback value written when the source value is an empty string, null or
|
|
15385
|
+
missing. Without a default, an empty string and null are written as they are
|
|
15386
|
+
and a missing field is left out.
|
|
15387
|
+
x-celigo-ai-guidance:
|
|
15388
|
+
- |-
|
|
15389
|
+
Use ``default``, not ``hardCodedValue``, for a fallback on a field that is
|
|
15390
|
+
sometimes empty: ``hardCodedValue`` is written on every record and replaces
|
|
15391
|
+
the values that exist.
|
|
15319
15392
|
extractDateFormat:
|
|
15320
15393
|
type: string
|
|
15321
15394
|
description: Date format of the source value, used to parse it before conversion.
|
|
@@ -15431,8 +15504,8 @@ components:
|
|
|
15431
15504
|
id:
|
|
15432
15505
|
type: string
|
|
15433
15506
|
description: |
|
|
15434
|
-
Unique identifier for this field within the form
|
|
15435
|
-
|
|
15507
|
+
Unique identifier for this field within the form: layout containers and conditions
|
|
15508
|
+
refer to the field by it. Use the same string as the field's fieldMap key and its `name`.
|
|
15436
15509
|
examples:
|
|
15437
15510
|
- url
|
|
15438
15511
|
- mode
|
|
@@ -15443,8 +15516,9 @@ components:
|
|
|
15443
15516
|
name:
|
|
15444
15517
|
type: string
|
|
15445
15518
|
description: |
|
|
15446
|
-
|
|
15447
|
-
|
|
15519
|
+
Key the field's value is saved under: one top-level key of the resource's `settings`,
|
|
15520
|
+
which the form also reads the value back from when it opens. Nested objects inside
|
|
15521
|
+
`settings` are written to it directly, not through a form field's `name`.
|
|
15448
15522
|
examples:
|
|
15449
15523
|
- url
|
|
15450
15524
|
- mode
|
|
@@ -15519,11 +15593,19 @@ components:
|
|
|
15519
15593
|
required:
|
|
15520
15594
|
type: boolean
|
|
15521
15595
|
description: |
|
|
15522
|
-
When true, the field must have a value before the form can be submitted.
|
|
15596
|
+
When true, the field must have a value before the form can be submitted. Only the form
|
|
15597
|
+
enforces it: an API write of `settings` is stored without the value.
|
|
15523
15598
|
default: false
|
|
15524
15599
|
examples:
|
|
15525
15600
|
- true
|
|
15526
15601
|
- false
|
|
15602
|
+
defaultValue:
|
|
15603
|
+
description: |
|
|
15604
|
+
Value the form shows while the resource's `settings` holds no value under the field's
|
|
15605
|
+
`name`.
|
|
15606
|
+
examples:
|
|
15607
|
+
- us
|
|
15608
|
+
- true
|
|
15527
15609
|
multiline:
|
|
15528
15610
|
type: boolean
|
|
15529
15611
|
description: |
|
|
@@ -15586,15 +15668,187 @@ components:
|
|
|
15586
15668
|
keyName:
|
|
15587
15669
|
type: string
|
|
15588
15670
|
description: |
|
|
15589
|
-
For keyvalue fields,
|
|
15671
|
+
For keyvalue and staticMap fields, names the first column: each saved row holds that
|
|
15672
|
+
column's value under this key. A keyvalue field without it uses `key`.
|
|
15590
15673
|
examples:
|
|
15591
15674
|
- theKey
|
|
15675
|
+
- source
|
|
15592
15676
|
valueName:
|
|
15593
15677
|
type: string
|
|
15594
15678
|
description: |
|
|
15595
|
-
For keyvalue fields,
|
|
15679
|
+
For keyvalue and staticMap fields, names the second column: each saved row holds that
|
|
15680
|
+
column's value under this key. A keyvalue field without it uses `value`.
|
|
15596
15681
|
examples:
|
|
15597
15682
|
- theValue
|
|
15683
|
+
- target
|
|
15684
|
+
keyLabel:
|
|
15685
|
+
type: string
|
|
15686
|
+
description: |
|
|
15687
|
+
For staticMap fields, heading of the first column.
|
|
15688
|
+
examples:
|
|
15689
|
+
- Source status
|
|
15690
|
+
valueLabel:
|
|
15691
|
+
type: string
|
|
15692
|
+
description: |
|
|
15693
|
+
For staticMap fields, heading of the second column.
|
|
15694
|
+
examples:
|
|
15695
|
+
- Destination status
|
|
15696
|
+
keyOptions:
|
|
15697
|
+
type: array
|
|
15698
|
+
description: |
|
|
15699
|
+
For staticMap fields, suggestions offered in the first column's cells. A cell still
|
|
15700
|
+
accepts a typed value.
|
|
15701
|
+
items:
|
|
15702
|
+
type: object
|
|
15703
|
+
properties:
|
|
15704
|
+
label:
|
|
15705
|
+
type: string
|
|
15706
|
+
description: |
|
|
15707
|
+
Display text for the suggestion.
|
|
15708
|
+
value:
|
|
15709
|
+
type: string
|
|
15710
|
+
description: |
|
|
15711
|
+
Value saved when the suggestion is chosen.
|
|
15712
|
+
examples:
|
|
15713
|
+
- - label: Pending
|
|
15714
|
+
value: pending
|
|
15715
|
+
- label: Shipped
|
|
15716
|
+
value: shipped
|
|
15717
|
+
valueOptions:
|
|
15718
|
+
type: array
|
|
15719
|
+
description: |
|
|
15720
|
+
For staticMap fields, suggestions offered in the second column's cells. A cell still
|
|
15721
|
+
accepts a typed value.
|
|
15722
|
+
items:
|
|
15723
|
+
type: object
|
|
15724
|
+
properties:
|
|
15725
|
+
label:
|
|
15726
|
+
type: string
|
|
15727
|
+
description: |
|
|
15728
|
+
Display text for the suggestion.
|
|
15729
|
+
value:
|
|
15730
|
+
type: string
|
|
15731
|
+
description: |
|
|
15732
|
+
Value saved when the suggestion is chosen.
|
|
15733
|
+
examples:
|
|
15734
|
+
- - label: Open
|
|
15735
|
+
value: open
|
|
15736
|
+
- label: Closed
|
|
15737
|
+
value: closed
|
|
15738
|
+
keyResource:
|
|
15739
|
+
type: object
|
|
15740
|
+
description: |
|
|
15741
|
+
For staticMap fields, fills the first column's suggestions from an export the form
|
|
15742
|
+
carries inline in `virtual`, run the way an exportSelect's `resource` is. With
|
|
15743
|
+
`keyResource` or `valueResource` set, the form requires both columns in every row
|
|
15744
|
+
unless `keyValueRequired` is false.
|
|
15745
|
+
properties:
|
|
15746
|
+
virtual:
|
|
15747
|
+
type: object
|
|
15748
|
+
description: |
|
|
15749
|
+
Export document to run, inline, shaped like an exportSelect's `resource.virtual`.
|
|
15750
|
+
additionalProperties: true
|
|
15751
|
+
valueResource:
|
|
15752
|
+
type: object
|
|
15753
|
+
description: |
|
|
15754
|
+
For staticMap fields, fills the second column's suggestions from an export the form
|
|
15755
|
+
carries inline in `virtual`, run the way an exportSelect's `resource` is.
|
|
15756
|
+
properties:
|
|
15757
|
+
virtual:
|
|
15758
|
+
type: object
|
|
15759
|
+
description: |
|
|
15760
|
+
Export document to run, inline, shaped like an exportSelect's `resource.virtual`.
|
|
15761
|
+
additionalProperties: true
|
|
15762
|
+
keyValueRequired:
|
|
15763
|
+
type: boolean
|
|
15764
|
+
description: |
|
|
15765
|
+
For staticMap fields with `keyResource` or `valueResource`, when false, saves rows
|
|
15766
|
+
that fill only one column; by default the form drops them.
|
|
15767
|
+
default: true
|
|
15768
|
+
examples:
|
|
15769
|
+
- false
|
|
15770
|
+
resource:
|
|
15771
|
+
type: object
|
|
15772
|
+
description: |
|
|
15773
|
+
For exportSelect fields, the export whose records become the options. When the form
|
|
15774
|
+
opens, the UI previews the export in `virtual` (with `test.limit` 100 unless the export
|
|
15775
|
+
sets its own) and lists the preview's `data`: each record needs a `label` and a `value`
|
|
15776
|
+
(a string or number serves as both), so shape them with the export's `transform`. A
|
|
15777
|
+
saved export can't be referenced, and an HTTP export that finds no records leaves the
|
|
15778
|
+
field showing an error instead of options.
|
|
15779
|
+
properties:
|
|
15780
|
+
virtual:
|
|
15781
|
+
type: object
|
|
15782
|
+
description: |
|
|
15783
|
+
Export document to run, inline: `adaptorType`, its adaptor block, and an optional
|
|
15784
|
+
`transform`. `_connectionId` defaults to the connection of the export or import the
|
|
15785
|
+
form belongs to; set it on any other resource's form.
|
|
15786
|
+
additionalProperties: true
|
|
15787
|
+
examples:
|
|
15788
|
+
- virtual:
|
|
15789
|
+
adaptorType: HTTPExport
|
|
15790
|
+
http:
|
|
15791
|
+
relativeURI: /v1/warehouses
|
|
15792
|
+
method: GET
|
|
15793
|
+
formType: http
|
|
15794
|
+
response:
|
|
15795
|
+
resourcePath: warehouses
|
|
15796
|
+
transform:
|
|
15797
|
+
type: expression
|
|
15798
|
+
expression:
|
|
15799
|
+
version: '2'
|
|
15800
|
+
rulesTwoDotZero:
|
|
15801
|
+
mode: create
|
|
15802
|
+
mappings:
|
|
15803
|
+
- generate: label
|
|
15804
|
+
extract: $.name
|
|
15805
|
+
dataType: string
|
|
15806
|
+
status: Active
|
|
15807
|
+
- generate: value
|
|
15808
|
+
extract: $.code
|
|
15809
|
+
dataType: string
|
|
15810
|
+
status: Active
|
|
15811
|
+
multiselect:
|
|
15812
|
+
type: boolean
|
|
15813
|
+
description: |
|
|
15814
|
+
For exportSelect fields, when true, the user can choose several options and the value
|
|
15815
|
+
is saved as an array.
|
|
15816
|
+
default: false
|
|
15817
|
+
examples:
|
|
15818
|
+
- true
|
|
15819
|
+
supportHandlebars:
|
|
15820
|
+
type: boolean
|
|
15821
|
+
description: |
|
|
15822
|
+
For exportSelect fields, when true, renders the `resource.virtual` export as a Handlebars
|
|
15823
|
+
template before each preview (all but its `transform`, `hooks`, and `filter`). On an
|
|
15824
|
+
integration, flow group, flow, export, or import form, the form's current values are
|
|
15825
|
+
under that form's scope name (`integration`, `flowGrouping`, `flow`, `export`, or
|
|
15826
|
+
`import`), beside the saved settings of the scopes above it, with no `settings.`
|
|
15827
|
+
prefix; on a connection or iClient form the template has no context. The options then
|
|
15828
|
+
load through `refreshOptionsOnChangesTo` or `typeAheadSearch`, or when the user
|
|
15829
|
+
refreshes the field.
|
|
15830
|
+
default: false
|
|
15831
|
+
examples:
|
|
15832
|
+
- true
|
|
15833
|
+
refreshOptionsOnChangesTo:
|
|
15834
|
+
type: array
|
|
15835
|
+
items:
|
|
15836
|
+
type: string
|
|
15837
|
+
description: |
|
|
15838
|
+
For exportSelect fields with `supportHandlebars`, ids of the fields whose values the
|
|
15839
|
+
templated export uses: the options load once one of them has a value and reload whenever
|
|
15840
|
+
one changes.
|
|
15841
|
+
examples:
|
|
15842
|
+
- - region
|
|
15843
|
+
typeAheadSearch:
|
|
15844
|
+
type: boolean
|
|
15845
|
+
description: |
|
|
15846
|
+
For exportSelect fields, when true, re-runs the templated export as the user types, with
|
|
15847
|
+
the typed text as this field's own value; an empty box clears the options, and typed
|
|
15848
|
+
text is accepted as the value.
|
|
15849
|
+
default: false
|
|
15850
|
+
examples:
|
|
15851
|
+
- true
|
|
15598
15852
|
showDelete:
|
|
15599
15853
|
type: boolean
|
|
15600
15854
|
description: |
|
|
@@ -15695,7 +15949,9 @@ components:
|
|
|
15695
15949
|
field:
|
|
15696
15950
|
type: string
|
|
15697
15951
|
description: |
|
|
15698
|
-
The ID of another field whose value controls the visibility of this field.
|
|
15952
|
+
The ID of another field whose value controls the visibility of this field. The
|
|
15953
|
+
save doesn't check it: a rule naming an ID that isn't in the form counts as met,
|
|
15954
|
+
so the field stays visible.
|
|
15699
15955
|
examples:
|
|
15700
15956
|
- mode
|
|
15701
15957
|
is:
|
|
@@ -15731,7 +15987,7 @@ components:
|
|
|
15731
15987
|
- tabWithoutSave
|
|
15732
15988
|
- verticalTabWithoutSave
|
|
15733
15989
|
x-enumDescriptions:
|
|
15734
|
-
column:
|
|
15990
|
+
column: Places the containers side by side, one column each.
|
|
15735
15991
|
collapse: Groups fields into collapsible/expandable sections.
|
|
15736
15992
|
box: Wraps field groups in bordered boxes with headings.
|
|
15737
15993
|
indent: Indents field groups to show hierarchy.
|
|
@@ -15740,6 +15996,15 @@ components:
|
|
|
15740
15996
|
examples:
|
|
15741
15997
|
- column
|
|
15742
15998
|
- collapse
|
|
15999
|
+
fields:
|
|
16000
|
+
type: array
|
|
16001
|
+
items:
|
|
16002
|
+
type: string
|
|
16003
|
+
description: |
|
|
16004
|
+
Field IDs shown above the containers, without a heading.
|
|
16005
|
+
examples:
|
|
16006
|
+
- - region
|
|
16007
|
+
- vatNumber
|
|
15743
16008
|
containers:
|
|
15744
16009
|
type: array
|
|
15745
16010
|
description: |
|
|
@@ -15779,7 +16044,8 @@ components:
|
|
|
15779
16044
|
type: string
|
|
15780
16045
|
description: |
|
|
15781
16046
|
Array of field IDs that should be displayed in this container.
|
|
15782
|
-
Each ID must correspond to a key in the fieldMap object
|
|
16047
|
+
Each ID must correspond to a key in the fieldMap object: the save doesn't check it,
|
|
16048
|
+
and an ID that doesn't renders nothing. A field the layout doesn't list isn't shown.
|
|
15783
16049
|
examples:
|
|
15784
16050
|
- - A
|
|
15785
16051
|
- url
|
|
@@ -15856,6 +16122,9 @@ components:
|
|
|
15856
16122
|
|
|
15857
16123
|
The function must return a valid form object that the UI can render.
|
|
15858
16124
|
Throwing an exception will signal an error to the user.
|
|
16125
|
+
|
|
16126
|
+
The UI runs the function each time it opens the form and renders the returned form instead of
|
|
16127
|
+
`form`, then fills in the values from `settings`; a thrown error's message replaces the form.
|
|
15859
16128
|
properties:
|
|
15860
16129
|
function:
|
|
15861
16130
|
type: string
|
|
@@ -15879,8 +16148,10 @@ components:
|
|
|
15879
16148
|
Reference to a predefined script resource containing the initialization function.
|
|
15880
16149
|
|
|
15881
16150
|
The referenced script should contain the function specified in the
|
|
15882
|
-
'function' property.
|
|
15883
|
-
|
|
16151
|
+
'function' property. On an integration, a flow group, a flow, an export, an import, or a
|
|
16152
|
+
connection, an id that isn't a script in the same account (or, on an Integration App's
|
|
16153
|
+
resources, one the app shares) is refused with 422 `invalid_ref`. An iClient save
|
|
16154
|
+
stores the id without that check.
|
|
15884
16155
|
examples:
|
|
15885
16156
|
- 60a2c4e6f321d800129a1a3c
|
|
15886
16157
|
- 5f8d43a1b9e5a80011a35f2c
|