@celigo/api-specs 0.2.171 → 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 +54 -16
- package/dist/asynchelper.yml +35 -12
- package/dist/export.yml +269 -30
- package/dist/flow.yml +38 -15
- package/dist/guardrail.yml +16 -5
- package/dist/httpconnector.yml +18 -3
- package/dist/httpconnectorresource.yml +19 -4
- package/dist/import.yml +326 -45
- package/dist/integration.yml +210 -12
- package/dist/job.yml +5 -1
- package/dist/tool.yml +331 -47
- package/dist/tradingpartnerconnector.yml +19 -4
- package/package.json +1 -1
- package/schemas.json +2 -1
package/dist/export.yml
CHANGED
|
@@ -2910,15 +2910,30 @@ components:
|
|
|
2910
2910
|
- `"lessthan"`: Value is less than specified value (is less than)
|
|
2911
2911
|
- `"lessthanequals"`: Value is less than or equal to specified value (is less than or equals)
|
|
2912
2912
|
- `"startswith"`: String starts with specified prefix (starts with)
|
|
2913
|
+
- `"notstartswith"`: String does not start with specified prefix (does not start with)
|
|
2913
2914
|
- `"endswith"`: String ends with specified suffix (ends with)
|
|
2915
|
+
- `"notendswith"`: String does not end with specified suffix (does not end with)
|
|
2914
2916
|
- `"contains"`: String contains specified substring (contains)
|
|
2915
2917
|
- `"doesnotcontain"`: String does not contain specified substring (does not contain)
|
|
2916
2918
|
- `"empty"`: Field is missing or empty (is empty)
|
|
2917
2919
|
- `"notempty"`: Field contains a value (is not empty)
|
|
2918
|
-
- `"matches"`: Matches a regular expression (matches)
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2920
|
+
- `"matches"`: Matches a regular expression, ignoring case (matches)
|
|
2921
|
+
|
|
2922
|
+
Operator names are case-insensitive: `NOTEMPTY` and `endsWith` work and are stored
|
|
2923
|
+
as sent. `isempty`, `isnotempty`, `anyof`, `notcontains`, `doesnotstartwith`,
|
|
2924
|
+
`doesnotendwith`, `notmatches`, `doesnotmatch` and `notequal` are not operators:
|
|
2925
|
+
they are refused with 422 "Invalid operation: <name>", with the name in lowercase,
|
|
2926
|
+
both when the filter is saved and by `POST /v1/processors/filter`. To negate a
|
|
2927
|
+
condition, wrap it in `not`.
|
|
2928
|
+
|
|
2929
|
+
The string comparisons (`equals`, `contains`, `startswith`, `endswith` and their
|
|
2930
|
+
negations) are case-sensitive; wrap the field in `lowercase` to compare without case.
|
|
2931
|
+
`matches` is not: every pattern is compiled with the flags `gi`, so `^paid$` also
|
|
2932
|
+
matches `PAID` and `[a-z]` matches capital letters. An inline flag such as `(?i)`
|
|
2933
|
+
makes the pattern invalid. The filter still saves, but in a run every record fails
|
|
2934
|
+
with `FILTER_EVALUATION_FAILED` ("Invalid regular expression: /(?i)…/gi: Invalid
|
|
2935
|
+
group"), and `POST /v1/processors/filter` refuses the call with 422 (live-verified
|
|
2936
|
+
2026-10-22).
|
|
2922
2937
|
|
|
2923
2938
|
**Logical Operators**
|
|
2924
2939
|
- `"and"`: All conditions must be true
|
|
@@ -12551,7 +12566,11 @@ components:
|
|
|
12551
12566
|
|
|
12552
12567
|
**Simple Types (direct value mapping)**
|
|
12553
12568
|
- `string`: Text values, converts other types to string representation
|
|
12554
|
-
- `number`: Numeric values
|
|
12569
|
+
- `number`: Numeric values. Converts a numeric string (`"24"` → `24`,
|
|
12570
|
+
`"007"` → `7`) and leaves the field out for an empty string; a value
|
|
12571
|
+
holding letters or a thousands separator (`"1,250.00"`) fails the
|
|
12572
|
+
record with `non_parsable_string` (`<generate>: String contains alpha
|
|
12573
|
+
characters`)
|
|
12555
12574
|
- `boolean`: True/false values, converts truthy/falsy values
|
|
12556
12575
|
|
|
12557
12576
|
Dates are represented as strings — use `string` for date fields and
|
|
@@ -12594,8 +12613,14 @@ components:
|
|
|
12594
12613
|
- |-
|
|
12595
12614
|
Missing `dataType` is rejected at save with validation error
|
|
12596
12615
|
`[mandatory_destination_datatype] Destination datatype is a
|
|
12597
|
-
required field.`
|
|
12598
|
-
|
|
12616
|
+
required field.`
|
|
12617
|
+
- |-
|
|
12618
|
+
Give each row the type the destination field expects; `"string"` is
|
|
12619
|
+
not a safe default. It accepts any source value, but sends a numeric
|
|
12620
|
+
source as text (`"24"`), which a destination that checks JSON types
|
|
12621
|
+
refuses. Map numeric destination fields as `number`, which fails a
|
|
12622
|
+
record (`non_parsable_string`) only when the value holds letters or a
|
|
12623
|
+
thousands separator.
|
|
12599
12624
|
enum:
|
|
12600
12625
|
- string
|
|
12601
12626
|
- number
|
|
@@ -12607,7 +12632,7 @@ components:
|
|
|
12607
12632
|
- objectarray
|
|
12608
12633
|
x-enumDescriptions:
|
|
12609
12634
|
string: Text values; converts other types to their string representation.
|
|
12610
|
-
number: Numeric values;
|
|
12635
|
+
number: Numeric values; converts numeric strings, and fails the record (`non_parsable_string`) on letters or a thousands separator.
|
|
12611
12636
|
boolean: True/false values; converts truthy/falsy values.
|
|
12612
12637
|
object: Nested object built from child `mappings`, or copied whole with `extract` (not both).
|
|
12613
12638
|
stringarray: Array of string values.
|
|
@@ -13635,7 +13660,11 @@ components:
|
|
|
13635
13660
|
|
|
13636
13661
|
**Simple Types (direct value mapping)**
|
|
13637
13662
|
- `string`: Text values, converts other types to string representation
|
|
13638
|
-
- `number`: Numeric values
|
|
13663
|
+
- `number`: Numeric values. Converts a numeric string (`"24"` → `24`,
|
|
13664
|
+
`"007"` → `7`) and leaves the field out for an empty string; a value
|
|
13665
|
+
holding letters or a thousands separator (`"1,250.00"`) fails the
|
|
13666
|
+
record with `non_parsable_string` (`<generate>: String contains alpha
|
|
13667
|
+
characters`)
|
|
13639
13668
|
- `boolean`: True/false values, converts truthy/falsy values
|
|
13640
13669
|
|
|
13641
13670
|
Dates are represented as strings — use `string` for date fields and
|
|
@@ -13678,8 +13707,14 @@ components:
|
|
|
13678
13707
|
- |-
|
|
13679
13708
|
Missing `dataType` is rejected at save with validation error
|
|
13680
13709
|
`[mandatory_destination_datatype] Destination datatype is a
|
|
13681
|
-
required field.`
|
|
13682
|
-
|
|
13710
|
+
required field.`
|
|
13711
|
+
- |-
|
|
13712
|
+
Give each row the type the destination field expects; `"string"` is
|
|
13713
|
+
not a safe default. It accepts any source value, but sends a numeric
|
|
13714
|
+
source as text (`"24"`), which a destination that checks JSON types
|
|
13715
|
+
refuses. Map numeric destination fields as `number`, which fails a
|
|
13716
|
+
record (`non_parsable_string`) only when the value holds letters or a
|
|
13717
|
+
thousands separator.
|
|
13683
13718
|
enum:
|
|
13684
13719
|
- string
|
|
13685
13720
|
- number
|
|
@@ -13691,7 +13726,7 @@ components:
|
|
|
13691
13726
|
- objectarray
|
|
13692
13727
|
x-enumDescriptions:
|
|
13693
13728
|
string: Text values; converts other types to their string representation.
|
|
13694
|
-
number: Numeric values;
|
|
13729
|
+
number: Numeric values; converts numeric strings, and fails the record (`non_parsable_string`) on letters or a thousands separator.
|
|
13695
13730
|
boolean: True/false values; converts truthy/falsy values.
|
|
13696
13731
|
object: Nested object built from child `mappings`, or copied whole with `extract` (not both).
|
|
13697
13732
|
stringarray: Array of string values.
|
|
@@ -14833,7 +14868,7 @@ components:
|
|
|
14833
14868
|
|
|
14834
14869
|
This value is used as a fallback when:
|
|
14835
14870
|
1. The source value doesn't match any key in the map
|
|
14836
|
-
2. allowFailures is
|
|
14871
|
+
2. allowFailures is true or omitted
|
|
14837
14872
|
|
|
14838
14873
|
Setting an appropriate default helps prevent flow failures due to unexpected
|
|
14839
14874
|
values and provides predictable behavior for edge cases.
|
|
@@ -14843,8 +14878,10 @@ components:
|
|
|
14843
14878
|
- Original value indicators: "{Original Value}", "No mapping found"
|
|
14844
14879
|
- Neutral values: "Other", "N/A", "Miscellaneous"
|
|
14845
14880
|
|
|
14846
|
-
|
|
14847
|
-
|
|
14881
|
+
A save refuses a default together with an explicit `allowFailures: false`
|
|
14882
|
+
(422 `Lookups with default set can not have allowFailures explicitly set to
|
|
14883
|
+
false.`): a lookup either fails a miss (`allowFailures: false`, no default) or
|
|
14884
|
+
falls back to its default.
|
|
14848
14885
|
examples:
|
|
14849
14886
|
- Unknown
|
|
14850
14887
|
- Other
|
|
@@ -14852,7 +14889,8 @@ components:
|
|
|
14852
14889
|
- Unmapped Value
|
|
14853
14890
|
- '{Original Value}'
|
|
14854
14891
|
x-celigo-ai-guidance:
|
|
14855
|
-
- 'Omit this field entirely when no fallback value is intended: a miss the lookup lets through then leaves the mapped field out, and
|
|
14892
|
+
- '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 `""`.'
|
|
14893
|
+
- 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.
|
|
14856
14894
|
allowFailures:
|
|
14857
14895
|
type:
|
|
14858
14896
|
- boolean
|
|
@@ -15378,8 +15416,8 @@ components:
|
|
|
15378
15416
|
id:
|
|
15379
15417
|
type: string
|
|
15380
15418
|
description: |
|
|
15381
|
-
Unique identifier for this field within the form
|
|
15382
|
-
|
|
15419
|
+
Unique identifier for this field within the form: layout containers and conditions
|
|
15420
|
+
refer to the field by it. Use the same string as the field's fieldMap key and its `name`.
|
|
15383
15421
|
examples:
|
|
15384
15422
|
- url
|
|
15385
15423
|
- mode
|
|
@@ -15390,8 +15428,9 @@ components:
|
|
|
15390
15428
|
name:
|
|
15391
15429
|
type: string
|
|
15392
15430
|
description: |
|
|
15393
|
-
|
|
15394
|
-
|
|
15431
|
+
Key the field's value is saved under: one top-level key of the resource's `settings`,
|
|
15432
|
+
which the form also reads the value back from when it opens. Nested objects inside
|
|
15433
|
+
`settings` are written to it directly, not through a form field's `name`.
|
|
15395
15434
|
examples:
|
|
15396
15435
|
- url
|
|
15397
15436
|
- mode
|
|
@@ -15466,11 +15505,19 @@ components:
|
|
|
15466
15505
|
required:
|
|
15467
15506
|
type: boolean
|
|
15468
15507
|
description: |
|
|
15469
|
-
When true, the field must have a value before the form can be submitted.
|
|
15508
|
+
When true, the field must have a value before the form can be submitted. Only the form
|
|
15509
|
+
enforces it: an API write of `settings` is stored without the value.
|
|
15470
15510
|
default: false
|
|
15471
15511
|
examples:
|
|
15472
15512
|
- true
|
|
15473
15513
|
- false
|
|
15514
|
+
defaultValue:
|
|
15515
|
+
description: |
|
|
15516
|
+
Value the form shows while the resource's `settings` holds no value under the field's
|
|
15517
|
+
`name`.
|
|
15518
|
+
examples:
|
|
15519
|
+
- us
|
|
15520
|
+
- true
|
|
15474
15521
|
multiline:
|
|
15475
15522
|
type: boolean
|
|
15476
15523
|
description: |
|
|
@@ -15533,15 +15580,187 @@ components:
|
|
|
15533
15580
|
keyName:
|
|
15534
15581
|
type: string
|
|
15535
15582
|
description: |
|
|
15536
|
-
For keyvalue fields,
|
|
15583
|
+
For keyvalue and staticMap fields, names the first column: each saved row holds that
|
|
15584
|
+
column's value under this key. A keyvalue field without it uses `key`.
|
|
15537
15585
|
examples:
|
|
15538
15586
|
- theKey
|
|
15587
|
+
- source
|
|
15539
15588
|
valueName:
|
|
15540
15589
|
type: string
|
|
15541
15590
|
description: |
|
|
15542
|
-
For keyvalue fields,
|
|
15591
|
+
For keyvalue and staticMap fields, names the second column: each saved row holds that
|
|
15592
|
+
column's value under this key. A keyvalue field without it uses `value`.
|
|
15543
15593
|
examples:
|
|
15544
15594
|
- theValue
|
|
15595
|
+
- target
|
|
15596
|
+
keyLabel:
|
|
15597
|
+
type: string
|
|
15598
|
+
description: |
|
|
15599
|
+
For staticMap fields, heading of the first column.
|
|
15600
|
+
examples:
|
|
15601
|
+
- Source status
|
|
15602
|
+
valueLabel:
|
|
15603
|
+
type: string
|
|
15604
|
+
description: |
|
|
15605
|
+
For staticMap fields, heading of the second column.
|
|
15606
|
+
examples:
|
|
15607
|
+
- Destination status
|
|
15608
|
+
keyOptions:
|
|
15609
|
+
type: array
|
|
15610
|
+
description: |
|
|
15611
|
+
For staticMap fields, suggestions offered in the first column's cells. A cell still
|
|
15612
|
+
accepts a typed value.
|
|
15613
|
+
items:
|
|
15614
|
+
type: object
|
|
15615
|
+
properties:
|
|
15616
|
+
label:
|
|
15617
|
+
type: string
|
|
15618
|
+
description: |
|
|
15619
|
+
Display text for the suggestion.
|
|
15620
|
+
value:
|
|
15621
|
+
type: string
|
|
15622
|
+
description: |
|
|
15623
|
+
Value saved when the suggestion is chosen.
|
|
15624
|
+
examples:
|
|
15625
|
+
- - label: Pending
|
|
15626
|
+
value: pending
|
|
15627
|
+
- label: Shipped
|
|
15628
|
+
value: shipped
|
|
15629
|
+
valueOptions:
|
|
15630
|
+
type: array
|
|
15631
|
+
description: |
|
|
15632
|
+
For staticMap fields, suggestions offered in the second column's cells. A cell still
|
|
15633
|
+
accepts a typed value.
|
|
15634
|
+
items:
|
|
15635
|
+
type: object
|
|
15636
|
+
properties:
|
|
15637
|
+
label:
|
|
15638
|
+
type: string
|
|
15639
|
+
description: |
|
|
15640
|
+
Display text for the suggestion.
|
|
15641
|
+
value:
|
|
15642
|
+
type: string
|
|
15643
|
+
description: |
|
|
15644
|
+
Value saved when the suggestion is chosen.
|
|
15645
|
+
examples:
|
|
15646
|
+
- - label: Open
|
|
15647
|
+
value: open
|
|
15648
|
+
- label: Closed
|
|
15649
|
+
value: closed
|
|
15650
|
+
keyResource:
|
|
15651
|
+
type: object
|
|
15652
|
+
description: |
|
|
15653
|
+
For staticMap fields, fills the first column's suggestions from an export the form
|
|
15654
|
+
carries inline in `virtual`, run the way an exportSelect's `resource` is. With
|
|
15655
|
+
`keyResource` or `valueResource` set, the form requires both columns in every row
|
|
15656
|
+
unless `keyValueRequired` is false.
|
|
15657
|
+
properties:
|
|
15658
|
+
virtual:
|
|
15659
|
+
type: object
|
|
15660
|
+
description: |
|
|
15661
|
+
Export document to run, inline, shaped like an exportSelect's `resource.virtual`.
|
|
15662
|
+
additionalProperties: true
|
|
15663
|
+
valueResource:
|
|
15664
|
+
type: object
|
|
15665
|
+
description: |
|
|
15666
|
+
For staticMap fields, fills the second column's suggestions from an export the form
|
|
15667
|
+
carries inline in `virtual`, run the way an exportSelect's `resource` is.
|
|
15668
|
+
properties:
|
|
15669
|
+
virtual:
|
|
15670
|
+
type: object
|
|
15671
|
+
description: |
|
|
15672
|
+
Export document to run, inline, shaped like an exportSelect's `resource.virtual`.
|
|
15673
|
+
additionalProperties: true
|
|
15674
|
+
keyValueRequired:
|
|
15675
|
+
type: boolean
|
|
15676
|
+
description: |
|
|
15677
|
+
For staticMap fields with `keyResource` or `valueResource`, when false, saves rows
|
|
15678
|
+
that fill only one column; by default the form drops them.
|
|
15679
|
+
default: true
|
|
15680
|
+
examples:
|
|
15681
|
+
- false
|
|
15682
|
+
resource:
|
|
15683
|
+
type: object
|
|
15684
|
+
description: |
|
|
15685
|
+
For exportSelect fields, the export whose records become the options. When the form
|
|
15686
|
+
opens, the UI previews the export in `virtual` (with `test.limit` 100 unless the export
|
|
15687
|
+
sets its own) and lists the preview's `data`: each record needs a `label` and a `value`
|
|
15688
|
+
(a string or number serves as both), so shape them with the export's `transform`. A
|
|
15689
|
+
saved export can't be referenced, and an HTTP export that finds no records leaves the
|
|
15690
|
+
field showing an error instead of options.
|
|
15691
|
+
properties:
|
|
15692
|
+
virtual:
|
|
15693
|
+
type: object
|
|
15694
|
+
description: |
|
|
15695
|
+
Export document to run, inline: `adaptorType`, its adaptor block, and an optional
|
|
15696
|
+
`transform`. `_connectionId` defaults to the connection of the export or import the
|
|
15697
|
+
form belongs to; set it on any other resource's form.
|
|
15698
|
+
additionalProperties: true
|
|
15699
|
+
examples:
|
|
15700
|
+
- virtual:
|
|
15701
|
+
adaptorType: HTTPExport
|
|
15702
|
+
http:
|
|
15703
|
+
relativeURI: /v1/warehouses
|
|
15704
|
+
method: GET
|
|
15705
|
+
formType: http
|
|
15706
|
+
response:
|
|
15707
|
+
resourcePath: warehouses
|
|
15708
|
+
transform:
|
|
15709
|
+
type: expression
|
|
15710
|
+
expression:
|
|
15711
|
+
version: '2'
|
|
15712
|
+
rulesTwoDotZero:
|
|
15713
|
+
mode: create
|
|
15714
|
+
mappings:
|
|
15715
|
+
- generate: label
|
|
15716
|
+
extract: $.name
|
|
15717
|
+
dataType: string
|
|
15718
|
+
status: Active
|
|
15719
|
+
- generate: value
|
|
15720
|
+
extract: $.code
|
|
15721
|
+
dataType: string
|
|
15722
|
+
status: Active
|
|
15723
|
+
multiselect:
|
|
15724
|
+
type: boolean
|
|
15725
|
+
description: |
|
|
15726
|
+
For exportSelect fields, when true, the user can choose several options and the value
|
|
15727
|
+
is saved as an array.
|
|
15728
|
+
default: false
|
|
15729
|
+
examples:
|
|
15730
|
+
- true
|
|
15731
|
+
supportHandlebars:
|
|
15732
|
+
type: boolean
|
|
15733
|
+
description: |
|
|
15734
|
+
For exportSelect fields, when true, renders the `resource.virtual` export as a Handlebars
|
|
15735
|
+
template before each preview (all but its `transform`, `hooks`, and `filter`). On an
|
|
15736
|
+
integration, flow group, flow, export, or import form, the form's current values are
|
|
15737
|
+
under that form's scope name (`integration`, `flowGrouping`, `flow`, `export`, or
|
|
15738
|
+
`import`), beside the saved settings of the scopes above it, with no `settings.`
|
|
15739
|
+
prefix; on a connection or iClient form the template has no context. The options then
|
|
15740
|
+
load through `refreshOptionsOnChangesTo` or `typeAheadSearch`, or when the user
|
|
15741
|
+
refreshes the field.
|
|
15742
|
+
default: false
|
|
15743
|
+
examples:
|
|
15744
|
+
- true
|
|
15745
|
+
refreshOptionsOnChangesTo:
|
|
15746
|
+
type: array
|
|
15747
|
+
items:
|
|
15748
|
+
type: string
|
|
15749
|
+
description: |
|
|
15750
|
+
For exportSelect fields with `supportHandlebars`, ids of the fields whose values the
|
|
15751
|
+
templated export uses: the options load once one of them has a value and reload whenever
|
|
15752
|
+
one changes.
|
|
15753
|
+
examples:
|
|
15754
|
+
- - region
|
|
15755
|
+
typeAheadSearch:
|
|
15756
|
+
type: boolean
|
|
15757
|
+
description: |
|
|
15758
|
+
For exportSelect fields, when true, re-runs the templated export as the user types, with
|
|
15759
|
+
the typed text as this field's own value; an empty box clears the options, and typed
|
|
15760
|
+
text is accepted as the value.
|
|
15761
|
+
default: false
|
|
15762
|
+
examples:
|
|
15763
|
+
- true
|
|
15545
15764
|
showDelete:
|
|
15546
15765
|
type: boolean
|
|
15547
15766
|
description: |
|
|
@@ -15642,7 +15861,9 @@ components:
|
|
|
15642
15861
|
field:
|
|
15643
15862
|
type: string
|
|
15644
15863
|
description: |
|
|
15645
|
-
The ID of another field whose value controls the visibility of this field.
|
|
15864
|
+
The ID of another field whose value controls the visibility of this field. The
|
|
15865
|
+
save doesn't check it: a rule naming an ID that isn't in the form counts as met,
|
|
15866
|
+
so the field stays visible.
|
|
15646
15867
|
examples:
|
|
15647
15868
|
- mode
|
|
15648
15869
|
is:
|
|
@@ -15678,7 +15899,7 @@ components:
|
|
|
15678
15899
|
- tabWithoutSave
|
|
15679
15900
|
- verticalTabWithoutSave
|
|
15680
15901
|
x-enumDescriptions:
|
|
15681
|
-
column:
|
|
15902
|
+
column: Places the containers side by side, one column each.
|
|
15682
15903
|
collapse: Groups fields into collapsible/expandable sections.
|
|
15683
15904
|
box: Wraps field groups in bordered boxes with headings.
|
|
15684
15905
|
indent: Indents field groups to show hierarchy.
|
|
@@ -15687,6 +15908,15 @@ components:
|
|
|
15687
15908
|
examples:
|
|
15688
15909
|
- column
|
|
15689
15910
|
- collapse
|
|
15911
|
+
fields:
|
|
15912
|
+
type: array
|
|
15913
|
+
items:
|
|
15914
|
+
type: string
|
|
15915
|
+
description: |
|
|
15916
|
+
Field IDs shown above the containers, without a heading.
|
|
15917
|
+
examples:
|
|
15918
|
+
- - region
|
|
15919
|
+
- vatNumber
|
|
15690
15920
|
containers:
|
|
15691
15921
|
type: array
|
|
15692
15922
|
description: |
|
|
@@ -15726,7 +15956,8 @@ components:
|
|
|
15726
15956
|
type: string
|
|
15727
15957
|
description: |
|
|
15728
15958
|
Array of field IDs that should be displayed in this container.
|
|
15729
|
-
Each ID must correspond to a key in the fieldMap object
|
|
15959
|
+
Each ID must correspond to a key in the fieldMap object: the save doesn't check it,
|
|
15960
|
+
and an ID that doesn't renders nothing. A field the layout doesn't list isn't shown.
|
|
15730
15961
|
examples:
|
|
15731
15962
|
- - A
|
|
15732
15963
|
- url
|
|
@@ -15803,6 +16034,9 @@ components:
|
|
|
15803
16034
|
|
|
15804
16035
|
The function must return a valid form object that the UI can render.
|
|
15805
16036
|
Throwing an exception will signal an error to the user.
|
|
16037
|
+
|
|
16038
|
+
The UI runs the function each time it opens the form and renders the returned form instead of
|
|
16039
|
+
`form`, then fills in the values from `settings`; a thrown error's message replaces the form.
|
|
15806
16040
|
properties:
|
|
15807
16041
|
function:
|
|
15808
16042
|
type: string
|
|
@@ -15826,8 +16060,10 @@ components:
|
|
|
15826
16060
|
Reference to a predefined script resource containing the initialization function.
|
|
15827
16061
|
|
|
15828
16062
|
The referenced script should contain the function specified in the
|
|
15829
|
-
'function' property.
|
|
15830
|
-
|
|
16063
|
+
'function' property. On an integration, a flow group, a flow, an export, an import, or a
|
|
16064
|
+
connection, an id that isn't a script in the same account (or, on an Integration App's
|
|
16065
|
+
resources, one the app shares) is refused with 422 `invalid_ref`. An iClient save
|
|
16066
|
+
stores the id without that check.
|
|
15831
16067
|
examples:
|
|
15832
16068
|
- 60a2c4e6f321d800129a1a3c
|
|
15833
16069
|
- 5f8d43a1b9e5a80011a35f2c
|
|
@@ -16238,8 +16474,11 @@ components:
|
|
|
16238
16474
|
(CSV/XML/JSON) into records. Most modes take their matching configuration object (e.g. a
|
|
16239
16475
|
`webhook` object when `type` is `webhook`); an HTTP or SQL `delta` export saves without a
|
|
16240
16476
|
`delta` object because its request carries `{{lastExportDateTime}}`, though
|
|
16241
|
-
`delta.startDate` sets its first window.
|
|
16242
|
-
|
|
16477
|
+
`delta.startDate` sets its first window. It still needs `type: delta`: on an export
|
|
16478
|
+
with no `type`, `{{lastExportDateTime}}` and `{{currentExportDateTime}}` render
|
|
16479
|
+
empty on every run, so a request that carries them goes out with blank values each time
|
|
16480
|
+
(live-verified 2026-10-22). Use `blob` only to transfer raw files without parsing their
|
|
16481
|
+
contents.
|
|
16243
16482
|
x-celigo-ai-guidance:
|
|
16244
16483
|
- |-
|
|
16245
16484
|
## HOW TO PICK THE TYPE VALUE
|
package/dist/flow.yml
CHANGED
|
@@ -5523,6 +5523,17 @@ components:
|
|
|
5523
5523
|
into a schedule (for example all wildcards, `? * * ? * *`), `422
|
|
5524
5524
|
schedule_not_supported` when its runs would be less than a minute apart — which
|
|
5525
5525
|
is also what free text such as `every 5 minutes` produces.
|
|
5526
|
+
|
|
5527
|
+
A save can store a later minute than it was sent. A minute field that is 0, 15,
|
|
5528
|
+
30 or 45, a list made only of those minutes, a range that starts at minute 0, or a
|
|
5529
|
+
`*/N` step with N above 5 is stored 5 minutes later: `? 0 6 ? * *` as
|
|
5530
|
+
`? 5 6 ? * *`, `? 0,15,30,45 * ? * *` as `? 5,20,35,50 * ? * *`, `? 0-10 * ? * *`
|
|
5531
|
+
as `? 5-15 * ? * *`, and `? */15 * ? * *` as `? 5-59/15 * ? * *`. Any other minute
|
|
5532
|
+
field is kept as sent, including `? */5 * * * *` and lists that mix in other
|
|
5533
|
+
minutes (`? 0,10,20,30,40,50 * ? * *`), and the other fields never change. POST,
|
|
5534
|
+
PUT and PATCH all store it this way, the response and later reads return the
|
|
5535
|
+
stored value, and scheduled runs start at the stored minutes, so a flow saved for
|
|
5536
|
+
06:00 runs at 06:05 (live-verified 2026-10-22).
|
|
5526
5537
|
x-celigo-ai-guidance:
|
|
5527
5538
|
- |-
|
|
5528
5539
|
Build `schedule` as a Celigo 6-field cron:
|
|
@@ -5544,20 +5555,22 @@ components:
|
|
|
5544
5555
|
schedule (`? * * ? * *`) with 422 `invalid_value`. Fix or clear the schedule
|
|
5545
5556
|
instead of disabling the flow to get past the error.
|
|
5546
5557
|
- |-
|
|
5547
|
-
|
|
5548
|
-
|
|
5558
|
+
When AUTHORING a schedule, read `schedule` back after the save and give
|
|
5559
|
+
the user the stored times, not the requested ones: a schedule written
|
|
5560
|
+
for minute 0, 15, 30 or 45 can be stored, and run, 5 minutes later (see
|
|
5561
|
+
the description), and an explicit list is moved the same way as a step
|
|
5562
|
+
form. Hourly or longer: minute `5` with an explicit hour list
|
|
5549
5563
|
(`? 5 0,4,8,12,16,20 ? * *` = every 4 hours;
|
|
5550
|
-
`? 5 9 ? * 1,2,3,4,5` = weekdays 9 AM; `? 5 0 ? * *` = daily
|
|
5551
|
-
sub-hourly: an explicit minute list with hour `*`
|
|
5552
|
-
(`?
|
|
5553
|
-
schedule builder and make fire times unambiguous — the scheduler can
|
|
5554
|
-
offset step expressions (the UI's sub-hourly presets fire at minutes
|
|
5555
|
-
10/25/40/55).
|
|
5564
|
+
`? 5 9 ? * 1,2,3,4,5` = weekdays 9:05 AM; `? 5 0 ? * *` = daily at
|
|
5565
|
+
00:05); sub-hourly: an explicit minute list with hour `*`
|
|
5566
|
+
(`? 5,20,35,50 * ? * *` = every 15 minutes) or a step form.
|
|
5556
5567
|
- |-
|
|
5557
5568
|
Wildcard/step/range forms (`? */5 * * * *`, `? 10-59/30 * * * *`) are
|
|
5558
5569
|
valid and the scheduler runs them — never claim an existing schedule's
|
|
5559
5570
|
format is invalid or the cause of missed runs, and never rewrite a
|
|
5560
|
-
working schedule into a different format as a fix. A
|
|
5571
|
+
working schedule into a different format as a fix. A minute stored 5
|
|
5572
|
+
minutes after the one written is the save's normal behavior, not a
|
|
5573
|
+
fault, and a rewritten schedule is stored the same way. A new scheduled
|
|
5561
5574
|
instance is not started while a previous run of the flow is still in
|
|
5562
5575
|
progress (boundaries skipped during a long run are by design); missed
|
|
5563
5576
|
runs on an enabled, unchanged flow with nothing running are a
|
|
@@ -6692,6 +6705,7 @@ components:
|
|
|
6692
6705
|
x-celigo-ai-guidance:
|
|
6693
6706
|
- Read the classification off the record; never infer it from the message text — the classifier is heuristic and identical messages can classify differently.
|
|
6694
6707
|
- There is no setting, mapping, hook, or API that changes a classification; a wrong one is a Celigo Support matter.
|
|
6708
|
+
- '`parse` also covers a request URL template that names a field the record lacks (`handlebars_template_parse_error`, `Failed to generate request url from template: … Details: "<field>" not defined in the model.`). That is missing data, not template syntax: nothing was sent, a retry of the same record fails the same way, and the fix is the record or how the import routes it (see an HTTP import''s `relativeURI`).'
|
|
6695
6709
|
classifiedBy:
|
|
6696
6710
|
type: string
|
|
6697
6711
|
description: '`auto` on every classified error; absent on unclassified ones.'
|
|
@@ -7364,7 +7378,11 @@ components:
|
|
|
7364
7378
|
type: integer
|
|
7365
7379
|
readOnly: true
|
|
7366
7380
|
description: |-
|
|
7367
|
-
Number of records skipped,
|
|
7381
|
+
Number of records skipped, by a filter or by an import's ignore-existing or ignore-missing
|
|
7382
|
+
rule. Records an import's filter skips count in that import's child job; records an export's
|
|
7383
|
+
output filter drops count in the export's child job, whose `numSuccess` then counts only the
|
|
7384
|
+
records that passed (an export that read 6 records and dropped 3 reads `numSuccess` 3,
|
|
7385
|
+
`numIgnore` 3; live-verified 2026-10-22). Filtered records raise no error.
|
|
7368
7386
|
Summed across steps on a parent flow job; per step on a child job.
|
|
7369
7387
|
examples:
|
|
7370
7388
|
- 0
|
|
@@ -8072,16 +8090,18 @@ components:
|
|
|
8072
8090
|
description: |-
|
|
8073
8091
|
Execution stage whose data to return. `apiCall` holds the request and response an HTTP
|
|
8074
8092
|
export or import sent. On a job whose `logMode` is `debug`, an export's transform and
|
|
8075
|
-
output filter record under `transformation` and `outputFilter`, an import's
|
|
8076
|
-
|
|
8093
|
+
output filter record under `transformation` and `outputFilter`, an import's filter (its
|
|
8094
|
+
`filter` field) under `inputFilter`, an import's mapping and response mapping under
|
|
8095
|
+
`mapping` and `responseMapping`, and a script hook's `options` and
|
|
8077
8096
|
return value under its hook type plus `Hook` (`preSavePageHook`, `preMapHook`,
|
|
8078
8097
|
`postMapHook`, `postSubmitHook`, `postResponseMapHook`), whatever the function is called;
|
|
8079
8098
|
neither the bare hook name (`preMap`) nor `<functionName>Hook` returns them (live-verified
|
|
8080
|
-
2026-10-20).
|
|
8099
|
+
2026-10-20; `inputFilter` 2026-10-22).
|
|
8081
8100
|
examples:
|
|
8082
8101
|
- apiCall
|
|
8083
8102
|
- transformation
|
|
8084
8103
|
- outputFilter
|
|
8104
|
+
- inputFilter
|
|
8085
8105
|
- mapping
|
|
8086
8106
|
- responseMapping
|
|
8087
8107
|
- preSavePageHook
|
|
@@ -8114,8 +8134,11 @@ components:
|
|
|
8114
8134
|
|
|
8115
8135
|
- `apiCall`: the request's method and URI and the response's status code. A job whose `logMode` is
|
|
8116
8136
|
`detailed` or `debug` also records each side's headers and body; a `basic` job does not.
|
|
8117
|
-
- `mapping`, `transformation`, `outputFilter`, `responseMapping`: a per-record entry
|
|
8118
|
-
record's `recordId`, the stage's `input`, and its `output
|
|
8137
|
+
- `mapping`, `transformation`, `outputFilter`, `inputFilter`, `responseMapping`: a per-record entry
|
|
8138
|
+
carrying the record's `recordId`, the stage's `input`, and its `output`. The filter stages
|
|
8139
|
+
(`outputFilter` for an export's output filter, `inputFilter` for an import's filter) have
|
|
8140
|
+
`success` instead, `false` for a record the filter dropped (`inputFilter` live-verified
|
|
8141
|
+
2026-10-22).
|
|
8119
8142
|
- `preSavePageHook`, `preMapHook`, `postMapHook`, `postSubmitHook`: one entry for the record's whole
|
|
8120
8143
|
group, with no `recordId`. `input` is a one-element array holding the `options` the hook received,
|
|
8121
8144
|
and `output` holds what the hook returned.
|
package/dist/guardrail.yml
CHANGED
|
@@ -1940,8 +1940,10 @@ components:
|
|
|
1940
1940
|
- A dot path from the record root (e.g. `email`, `address.city`), read from the
|
|
1941
1941
|
incoming record. A path that matches no field writes nothing.
|
|
1942
1942
|
- Handlebars template (contains `{{`) for concatenation /
|
|
1943
|
-
formatting / conditional logic (e.g.
|
|
1944
|
-
`{{
|
|
1943
|
+
formatting / conditional logic (e.g. `{{firstName}} {{lastName}}`,
|
|
1944
|
+
`{{#if mobile}}{{mobile}}{{else}}{{phone}}{{/if}}`). The template reads the
|
|
1945
|
+
record's fields by bare name: `{{record.firstName}}` and `{{data.firstName}}`
|
|
1946
|
+
render nothing, so the field is left out even when the record has the value.
|
|
1945
1947
|
|
|
1946
1948
|
A `$.` JSONPath (the Mapper 2.0 `mappings` syntax) reads nothing here, and a bare
|
|
1947
1949
|
string is read as a field path, not a constant: set constants in `hardCodedValue`.
|
|
@@ -1982,8 +1984,9 @@ components:
|
|
|
1982
1984
|
x-celigo-ai-guidance:
|
|
1983
1985
|
- |-
|
|
1984
1986
|
When true, skip this field entirely when ``extract`` / lookup
|
|
1985
|
-
produces empty
|
|
1986
|
-
|
|
1987
|
+
produces an empty string, null or nothing. Without this flag an
|
|
1988
|
+
empty string is written as ``""`` and null as null, either of which
|
|
1989
|
+
may overwrite existing data; a missing source is left out either way.
|
|
1987
1990
|
immutable:
|
|
1988
1991
|
type: boolean
|
|
1989
1992
|
description: When true, the mapped value cannot be overwritten by later mapping steps.
|
|
@@ -2000,7 +2003,15 @@ components:
|
|
|
2000
2003
|
type:
|
|
2001
2004
|
- string
|
|
2002
2005
|
- 'null'
|
|
2003
|
-
description:
|
|
2006
|
+
description: |-
|
|
2007
|
+
Fallback value written when the source value is an empty string, null or
|
|
2008
|
+
missing. Without a default, an empty string and null are written as they are
|
|
2009
|
+
and a missing field is left out.
|
|
2010
|
+
x-celigo-ai-guidance:
|
|
2011
|
+
- |-
|
|
2012
|
+
Use ``default``, not ``hardCodedValue``, for a fallback on a field that is
|
|
2013
|
+
sometimes empty: ``hardCodedValue`` is written on every record and replaces
|
|
2014
|
+
the values that exist.
|
|
2004
2015
|
extractDateFormat:
|
|
2005
2016
|
type: string
|
|
2006
2017
|
description: Date format of the source value, used to parse it before conversion.
|
package/dist/httpconnector.yml
CHANGED
|
@@ -1300,15 +1300,30 @@ components:
|
|
|
1300
1300
|
- `"lessthan"`: Value is less than specified value (is less than)
|
|
1301
1301
|
- `"lessthanequals"`: Value is less than or equal to specified value (is less than or equals)
|
|
1302
1302
|
- `"startswith"`: String starts with specified prefix (starts with)
|
|
1303
|
+
- `"notstartswith"`: String does not start with specified prefix (does not start with)
|
|
1303
1304
|
- `"endswith"`: String ends with specified suffix (ends with)
|
|
1305
|
+
- `"notendswith"`: String does not end with specified suffix (does not end with)
|
|
1304
1306
|
- `"contains"`: String contains specified substring (contains)
|
|
1305
1307
|
- `"doesnotcontain"`: String does not contain specified substring (does not contain)
|
|
1306
1308
|
- `"empty"`: Field is missing or empty (is empty)
|
|
1307
1309
|
- `"notempty"`: Field contains a value (is not empty)
|
|
1308
|
-
- `"matches"`: Matches a regular expression (matches)
|
|
1310
|
+
- `"matches"`: Matches a regular expression, ignoring case (matches)
|
|
1309
1311
|
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
+
Operator names are case-insensitive: `NOTEMPTY` and `endsWith` work and are stored
|
|
1313
|
+
as sent. `isempty`, `isnotempty`, `anyof`, `notcontains`, `doesnotstartwith`,
|
|
1314
|
+
`doesnotendwith`, `notmatches`, `doesnotmatch` and `notequal` are not operators:
|
|
1315
|
+
they are refused with 422 "Invalid operation: <name>", with the name in lowercase,
|
|
1316
|
+
both when the filter is saved and by `POST /v1/processors/filter`. To negate a
|
|
1317
|
+
condition, wrap it in `not`.
|
|
1318
|
+
|
|
1319
|
+
The string comparisons (`equals`, `contains`, `startswith`, `endswith` and their
|
|
1320
|
+
negations) are case-sensitive; wrap the field in `lowercase` to compare without case.
|
|
1321
|
+
`matches` is not: every pattern is compiled with the flags `gi`, so `^paid$` also
|
|
1322
|
+
matches `PAID` and `[a-z]` matches capital letters. An inline flag such as `(?i)`
|
|
1323
|
+
makes the pattern invalid. The filter still saves, but in a run every record fails
|
|
1324
|
+
with `FILTER_EVALUATION_FAILED` ("Invalid regular expression: /(?i)…/gi: Invalid
|
|
1325
|
+
group"), and `POST /v1/processors/filter` refuses the call with 422 (live-verified
|
|
1326
|
+
2026-10-22).
|
|
1312
1327
|
|
|
1313
1328
|
**Logical Operators**
|
|
1314
1329
|
- `"and"`: All conditions must be true
|