@celigo/api-specs 0.2.153 → 0.2.155
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 +90 -94
- package/dist/api.yml +21 -11
- package/dist/asynchelper.yml +84 -91
- package/dist/connection.yml +78 -22
- package/dist/enduser.yml +21 -11
- package/dist/export.yml +84 -91
- package/dist/flow.yml +6 -3
- package/dist/httpconnectorendpoint.yml +16 -1
- package/dist/httpconnectorresource.yml +12 -2
- package/dist/iclient.yml +10 -124
- package/dist/import.yml +132 -99
- package/dist/mcp-server.yml +28 -17
- package/dist/tool.yml +153 -110
- package/package.json +1 -1
- package/schemas.json +329 -329
package/dist/mcp-server.yml
CHANGED
|
@@ -2364,14 +2364,15 @@ components:
|
|
|
2364
2364
|
- username: John Doe
|
|
2365
2365
|
disabled:
|
|
2366
2366
|
type: boolean
|
|
2367
|
-
default:
|
|
2367
|
+
default: false
|
|
2368
2368
|
description: |-
|
|
2369
2369
|
When true, the prompt is hidden from MCP clients — omitted from
|
|
2370
|
-
`prompts/list` and not fetchable via `prompts/get`.
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2370
|
+
`prompts/list` and not fetchable via `prompts/get`. A prompt sent
|
|
2371
|
+
without `disabled` is saved enabled, unlike tool, API and resource
|
|
2372
|
+
entries, which default to disabled; send `true` to keep a new prompt
|
|
2373
|
+
hidden. An enabled prompt also satisfies the server-level enablement
|
|
2374
|
+
rule on its own. Prompts saved before this field existed are reported
|
|
2375
|
+
as `disabled: false`.
|
|
2375
2376
|
examples:
|
|
2376
2377
|
- false
|
|
2377
2378
|
- true
|
|
@@ -4031,7 +4032,7 @@ components:
|
|
|
4031
4032
|
connection's traffic counts against the referenced connection's limit instead of its own,
|
|
4032
4033
|
and its own concurrency and auto-recovery settings have no effect. One level only: the
|
|
4033
4034
|
referenced connection may not itself borrow, and a connection that others borrow from
|
|
4034
|
-
cannot start borrowing.
|
|
4035
|
+
cannot start borrowing. A connection cannot reference itself (422).
|
|
4035
4036
|
examples:
|
|
4036
4037
|
- 615dfa0742763671275b70ab
|
|
4037
4038
|
x-celigo-ai-guidance:
|
|
@@ -4068,16 +4069,21 @@ components:
|
|
|
4068
4069
|
type: boolean
|
|
4069
4070
|
description: |-
|
|
4070
4071
|
When true, the connection has been taken offline and is skipped during flow execution.
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
read it again a few
|
|
4072
|
+
It is set by the connection test a create or `PUT` runs: the result arrives in the
|
|
4073
|
+
write's response or, when the target is slow to answer, shortly afterwards (the audit
|
|
4074
|
+
log records a `system` change; `lastModified` doesn't move), so read it again a few
|
|
4075
|
+
seconds after the write. On an `http` connection the write runs the test only when
|
|
4076
|
+
`http.ping` is configured, and an `http` connection that was never tested has no
|
|
4077
|
+
`offline` key.
|
|
4074
4078
|
readOnly: true
|
|
4075
4079
|
needsAuthorization:
|
|
4076
4080
|
type: boolean
|
|
4077
4081
|
readOnly: true
|
|
4078
4082
|
description: |-
|
|
4079
4083
|
OAuth handshake state. Celigo's OAuth callback sets it to `false` once the user consents
|
|
4080
|
-
and the tokens are stored (see `GET /v1/connection/{_id}/oauth2`).
|
|
4084
|
+
and the tokens are stored (see `GET /v1/connection/{_id}/oauth2`). A connection that
|
|
4085
|
+
was never authorized usually has no `needsAuthorization` key, so its absence does not
|
|
4086
|
+
mean the connection is authorized.
|
|
4081
4087
|
_sourceId:
|
|
4082
4088
|
type: string
|
|
4083
4089
|
format: objectId
|
|
@@ -5052,15 +5058,18 @@ components:
|
|
|
5052
5058
|
clientId:
|
|
5053
5059
|
type: string
|
|
5054
5060
|
description: |
|
|
5055
|
-
OAuth client ID (application ID) registered with the API provider.
|
|
5056
|
-
|
|
5061
|
+
OAuth client ID (application ID) registered with the API provider. An `http`
|
|
5062
|
+
connection takes the app from a `custom_oauth2` iClient referenced by `http._iClientId`
|
|
5063
|
+
(an `mcp` connection from `mcp.http._iClientId`) and doesn't store this field: a create
|
|
5064
|
+
that sends `clientId` and `clientSecret` here answers 201 without either (and stores
|
|
5065
|
+
`useIClientFields: true` unless `false` is sent).
|
|
5057
5066
|
examples:
|
|
5058
5067
|
- 0oa1b2c3d4EXAMPLE5
|
|
5059
5068
|
clientSecret:
|
|
5060
5069
|
type: string
|
|
5061
5070
|
description: |
|
|
5062
|
-
OAuth client secret (encrypted at rest).
|
|
5063
|
-
|
|
5071
|
+
OAuth client secret (encrypted at rest). Not stored on an `http` connection: the secret
|
|
5072
|
+
belongs on the iClient (see `clientId`).
|
|
5064
5073
|
writeOnly: true
|
|
5065
5074
|
examples:
|
|
5066
5075
|
- cs_abc123EXAMPLE456secret
|
|
@@ -5276,9 +5285,11 @@ components:
|
|
|
5276
5285
|
- "authorizecode" — Authorization Code flow (browser-based user consent).
|
|
5277
5286
|
Requires authURI, tokenURI, and user authorization via browser.
|
|
5278
5287
|
- "clientcredentials" — Client Credentials flow (server-to-server, no user).
|
|
5279
|
-
Requires tokenURI
|
|
5288
|
+
Requires tokenURI.
|
|
5280
5289
|
- "password" — Resource Owner Password flow (username/password exchange).
|
|
5281
|
-
Requires tokenURI, username, password
|
|
5290
|
+
Requires tokenURI, username, password.
|
|
5291
|
+
- On an `http` connection the client ID and secret are never stored here: a
|
|
5292
|
+
`custom_oauth2` iClient referenced by `http._iClientId` supplies them.
|
|
5282
5293
|
JWT:
|
|
5283
5294
|
type: object
|
|
5284
5295
|
description: |-
|
package/dist/tool.yml
CHANGED
|
@@ -3524,9 +3524,8 @@ components:
|
|
|
3524
3524
|
- For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
|
|
3525
3525
|
- For object fields: Set to the object property name, then add child mappings in the 'mappings' array
|
|
3526
3526
|
- For array fields: Set to the array property name, then configure 'buildArrayHelper'
|
|
3527
|
-
-
|
|
3528
|
-
|
|
3529
|
-
structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
3527
|
+
- One structural blank: the single top-level `objectarray` item of a `rows [ ]` mapping (the
|
|
3528
|
+
array output structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
3530
3529
|
already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
|
|
3531
3530
|
name changes the output; it does not complete the row
|
|
3532
3531
|
|
|
@@ -3543,7 +3542,9 @@ components:
|
|
|
3543
3542
|
}
|
|
3544
3543
|
```
|
|
3545
3544
|
|
|
3546
|
-
When parsing existing mappings, an empty `generate`
|
|
3545
|
+
When parsing existing mappings, an empty `generate` on a row inside an `arrayarray` row's
|
|
3546
|
+
`buildArrayHelper` entry is that row's inner array (`arrayarray` fails at run time; see
|
|
3547
|
+
`dataType`); other unnamed rows are the wrappers and source-only rows described above; an
|
|
3547
3548
|
empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
|
|
3548
3549
|
structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
|
|
3549
3550
|
examples:
|
|
@@ -3577,17 +3578,25 @@ components:
|
|
|
3577
3578
|
- `numberarray`: Array of numbers
|
|
3578
3579
|
- `booleanarray`: Array of booleans
|
|
3579
3580
|
- `objectarray`: Array of objects (most common array type)
|
|
3580
|
-
- `arrayarray`: Array of arrays (for matrix/table structures)
|
|
3581
3581
|
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
|
|
3582
|
+
`arrayarray` is not a type the mapper recognizes: a save accepts it, but every record
|
|
3583
|
+
then fails with `Destination datatype is a required field.` Build an array of arrays
|
|
3584
|
+
in a script hook instead.
|
|
3585
|
+
|
|
3586
|
+
Array dataTypes are populated two ways: construct or iterate through
|
|
3587
|
+
`buildArrayHelper` entries, or set a constant with `hardCodedValue`. The
|
|
3588
|
+
row's own `extract` is never read on an array type: a primitive-array row
|
|
3589
|
+
that has only an `extract` (JSONPath, Handlebars or a literal) yields
|
|
3590
|
+
nothing, with no error, and an `objectarray` row without `buildArrayHelper`
|
|
3591
|
+
or `hardCodedValue` is refused with 422 ("buildArrayHelper" or
|
|
3592
|
+
"hardCodedValue" must be present for object array datatype.). To copy a
|
|
3593
|
+
source array through unchanged, use one entry that iterates it
|
|
3594
|
+
(`buildArrayHelper: [{"extract": "$.items[*]"}]`).
|
|
3586
3595
|
|
|
3587
3596
|
IMPORTANT: The dataType controls which additional fields are relevant:
|
|
3588
3597
|
- For date-like string fields: extractDateFormat, generateDateFormat, etc. become relevant
|
|
3589
3598
|
- For object types: 'mappings' array becomes relevant
|
|
3590
|
-
- For array types:
|
|
3599
|
+
- For array types: `buildArrayHelper` or `hardCodedValue` (see above)
|
|
3591
3600
|
|
|
3592
3601
|
When analyzing existing mappings or generating new ones, always check dataType first
|
|
3593
3602
|
to understand what additional fields should be present.
|
|
@@ -3606,7 +3615,6 @@ components:
|
|
|
3606
3615
|
- numberarray
|
|
3607
3616
|
- booleanarray
|
|
3608
3617
|
- objectarray
|
|
3609
|
-
- arrayarray
|
|
3610
3618
|
x-enumDescriptions:
|
|
3611
3619
|
string: Text values; converts other types to their string representation.
|
|
3612
3620
|
number: Numeric values; attempts conversion from strings.
|
|
@@ -3616,7 +3624,6 @@ components:
|
|
|
3616
3624
|
numberarray: Array of numeric values.
|
|
3617
3625
|
booleanarray: Array of boolean values.
|
|
3618
3626
|
objectarray: Array of objects, the most common array type.
|
|
3619
|
-
arrayarray: Array of arrays, used for matrix or table structures.
|
|
3620
3627
|
examples:
|
|
3621
3628
|
- string
|
|
3622
3629
|
- number
|
|
@@ -3659,9 +3666,10 @@ components:
|
|
|
3659
3666
|
- Valid on scalars and on `object` rows, where the rendered output must
|
|
3660
3667
|
parse into an object. On an array row the template goes in a
|
|
3661
3668
|
`buildArrayHelper` entry instead: on an `objectarray` row's own
|
|
3662
|
-
`extract` it is refused with 422 ("buildArrayHelper"
|
|
3663
|
-
for object array datatype), and on a primitive-array
|
|
3664
|
-
`extract` it
|
|
3669
|
+
`extract` it is refused with 422 ("buildArrayHelper" or "hardCodedValue"
|
|
3670
|
+
must be present for object array datatype.), and on a primitive-array
|
|
3671
|
+
row's own `extract` it yields nothing (the field is left out) without an
|
|
3672
|
+
error
|
|
3665
3673
|
|
|
3666
3674
|
```json
|
|
3667
3675
|
"extract": "{{record.price}} {{record.currency}}" // Combines two fields
|
|
@@ -3803,8 +3811,10 @@ components:
|
|
|
3803
3811
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
3804
3812
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
3805
3813
|
action). Omitting the key entirely means no fallback — the field is left out of the
|
|
3806
|
-
output when the extract is empty (the UI's "Do nothing" action)
|
|
3807
|
-
|
|
3814
|
+
output when the extract is missing or an empty string (the UI's "Do nothing" action),
|
|
3815
|
+
while a null source is still written as null unless `conditional.when` is
|
|
3816
|
+
`extract_not_empty`. Failing the record instead is `conditional.when:
|
|
3817
|
+
fail_record_when_empty`, which excludes a default.
|
|
3808
3818
|
x-celigo-ai-guidance:
|
|
3809
3819
|
- |-
|
|
3810
3820
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
@@ -3812,11 +3822,14 @@ components:
|
|
|
3812
3822
|
empty string renders it as `""` when the extract yields nothing.
|
|
3813
3823
|
Preserve them verbatim when editing or migrating a mapping — dropping
|
|
3814
3824
|
the key changes runtime behavior from "use null/empty string as
|
|
3815
|
-
default value" to "do nothing" (
|
|
3825
|
+
default value" to "do nothing" (a missing or `""` source is left out
|
|
3826
|
+
of the output, while a null source is written as null unless
|
|
3827
|
+
`conditional.when` is `extract_not_empty`).
|
|
3816
3828
|
- |-
|
|
3817
3829
|
The four "Action to take if source field has no value" choices map to:
|
|
3818
|
-
do nothing → no `default` key (
|
|
3819
|
-
extract_not_empty`
|
|
3830
|
+
do nothing → no `default` key (add `conditional.when:
|
|
3831
|
+
extract_not_empty` to leave a null source out too; without it a null
|
|
3832
|
+
source is written as null); use null → `"default": null`; use empty string or
|
|
3820
3833
|
a custom value → `"default": "<value>"`; cause the record to fail →
|
|
3821
3834
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
3822
3835
|
examples:
|
|
@@ -4031,8 +4044,7 @@ components:
|
|
|
4031
4044
|
|
|
4032
4045
|
**When to Use**
|
|
4033
4046
|
- REQUIRED when dataType ends with "array" (stringarray, objectarray, etc.), unless the
|
|
4034
|
-
row
|
|
4035
|
-
`hardCodedValue`
|
|
4047
|
+
row sets `hardCodedValue`: an array row's own `extract` is never read (see `dataType`)
|
|
4036
4048
|
- Each entry in this array contributes elements to the output array
|
|
4037
4049
|
- Multiple entries allow combining data from different input arrays
|
|
4038
4050
|
|
|
@@ -4116,28 +4128,10 @@ components:
|
|
|
4116
4128
|
}
|
|
4117
4129
|
```
|
|
4118
4130
|
|
|
4119
|
-
**
|
|
4120
|
-
-
|
|
4121
|
-
|
|
4122
|
-
|
|
4123
|
-
{
|
|
4124
|
-
"generate": "matrix",
|
|
4125
|
-
"dataType": "arrayarray",
|
|
4126
|
-
"buildArrayHelper": [
|
|
4127
|
-
{
|
|
4128
|
-
"extract": "$.rows[*]", // For each row in the rows array
|
|
4129
|
-
"mappings": [
|
|
4130
|
-
{
|
|
4131
|
-
"dataType": "numberarray", // Note: No generate field for inner arrays
|
|
4132
|
-
"buildArrayHelper": [
|
|
4133
|
-
{"extract": "$.rows.columns[*]"} // Notice: "rows" is singular in the composite object
|
|
4134
|
-
]
|
|
4135
|
-
}
|
|
4136
|
-
]
|
|
4137
|
-
}
|
|
4138
|
-
]
|
|
4139
|
-
}
|
|
4140
|
-
```
|
|
4131
|
+
**Arrays of Arrays**
|
|
4132
|
+
- The mapper has no working type for them: `arrayarray` saves, but every record
|
|
4133
|
+
fails with `Destination datatype is a required field.` Build an array of arrays
|
|
4134
|
+
in a script hook instead.
|
|
4141
4135
|
|
|
4142
4136
|
**Important details**
|
|
4143
4137
|
|
|
@@ -4555,8 +4549,8 @@ components:
|
|
|
4555
4549
|
nature is essential for building effective mappings:
|
|
4556
4550
|
|
|
4557
4551
|
1. The schema is self-referential by design - a mapping can contain nested mappings of the same structure
|
|
4558
|
-
2. Complex data structures (nested objects
|
|
4559
|
-
handled through this recursive pattern
|
|
4552
|
+
2. Complex data structures (nested objects and arrays of objects, to any depth) are ALL
|
|
4553
|
+
handled through this recursive pattern; an array of arrays is not (build one in a script hook)
|
|
4560
4554
|
3. Each mapping handles one level of the data structure; deeper levels are handled by nested mappings
|
|
4561
4555
|
|
|
4562
4556
|
When generating mappings programmatically:
|
|
@@ -4610,9 +4604,8 @@ components:
|
|
|
4610
4604
|
- For regular fields: Set to the exact property name (e.g., "firstName", "price", "isActive")
|
|
4611
4605
|
- For object fields: Set to the object property name, then add child mappings in the 'mappings' array
|
|
4612
4606
|
- For array fields: Set to the array property name, then configure 'buildArrayHelper'
|
|
4613
|
-
-
|
|
4614
|
-
|
|
4615
|
-
structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
4607
|
+
- One structural blank: the single top-level `objectarray` item of a `rows [ ]` mapping (the
|
|
4608
|
+
array output structure — see the array's description). A child-bearing wrapper and a source-only row that
|
|
4616
4609
|
already exist in a saved document also stay unnamed when the tree is re-sent — filling in a
|
|
4617
4610
|
name changes the output; it does not complete the row
|
|
4618
4611
|
|
|
@@ -4629,7 +4622,9 @@ components:
|
|
|
4629
4622
|
}
|
|
4630
4623
|
```
|
|
4631
4624
|
|
|
4632
|
-
When parsing existing mappings, an empty `generate`
|
|
4625
|
+
When parsing existing mappings, an empty `generate` on a row inside an `arrayarray` row's
|
|
4626
|
+
`buildArrayHelper` entry is that row's inner array (`arrayarray` fails at run time; see
|
|
4627
|
+
`dataType`); other unnamed rows are the wrappers and source-only rows described above; an
|
|
4633
4628
|
empty `generate` on the ONLY top-level item, with `dataType: objectarray`, is the `rows [ ]` JSON
|
|
4634
4629
|
structure — array output, bound as `rows` in templates — and is intentional, not a missing name.
|
|
4635
4630
|
examples:
|
|
@@ -4663,17 +4658,25 @@ components:
|
|
|
4663
4658
|
- `numberarray`: Array of numbers
|
|
4664
4659
|
- `booleanarray`: Array of booleans
|
|
4665
4660
|
- `objectarray`: Array of objects (most common array type)
|
|
4666
|
-
- `arrayarray`: Array of arrays (for matrix/table structures)
|
|
4667
4661
|
|
|
4668
|
-
|
|
4669
|
-
|
|
4670
|
-
|
|
4671
|
-
|
|
4662
|
+
`arrayarray` is not a type the mapper recognizes: a save accepts it, but every record
|
|
4663
|
+
then fails with `Destination datatype is a required field.` Build an array of arrays
|
|
4664
|
+
in a script hook instead.
|
|
4665
|
+
|
|
4666
|
+
Array dataTypes are populated two ways: construct or iterate through
|
|
4667
|
+
`buildArrayHelper` entries, or set a constant with `hardCodedValue`. The
|
|
4668
|
+
row's own `extract` is never read on an array type: a primitive-array row
|
|
4669
|
+
that has only an `extract` (JSONPath, Handlebars or a literal) yields
|
|
4670
|
+
nothing, with no error, and an `objectarray` row without `buildArrayHelper`
|
|
4671
|
+
or `hardCodedValue` is refused with 422 ("buildArrayHelper" or
|
|
4672
|
+
"hardCodedValue" must be present for object array datatype.). To copy a
|
|
4673
|
+
source array through unchanged, use one entry that iterates it
|
|
4674
|
+
(`buildArrayHelper: [{"extract": "$.items[*]"}]`).
|
|
4672
4675
|
|
|
4673
4676
|
IMPORTANT: The dataType controls which additional fields are relevant:
|
|
4674
4677
|
- For date-like string fields: extractDateFormat, generateDateFormat, etc. become relevant
|
|
4675
4678
|
- For object types: 'mappings' array becomes relevant
|
|
4676
|
-
- For array types:
|
|
4679
|
+
- For array types: `buildArrayHelper` or `hardCodedValue` (see above)
|
|
4677
4680
|
|
|
4678
4681
|
When analyzing existing mappings or generating new ones, always check dataType first
|
|
4679
4682
|
to understand what additional fields should be present.
|
|
@@ -4692,7 +4695,6 @@ components:
|
|
|
4692
4695
|
- numberarray
|
|
4693
4696
|
- booleanarray
|
|
4694
4697
|
- objectarray
|
|
4695
|
-
- arrayarray
|
|
4696
4698
|
x-enumDescriptions:
|
|
4697
4699
|
string: Text values; converts other types to their string representation.
|
|
4698
4700
|
number: Numeric values; attempts conversion from strings.
|
|
@@ -4702,7 +4704,6 @@ components:
|
|
|
4702
4704
|
numberarray: Array of numeric values.
|
|
4703
4705
|
booleanarray: Array of boolean values.
|
|
4704
4706
|
objectarray: Array of objects, the most common array type.
|
|
4705
|
-
arrayarray: Array of arrays, used for matrix or table structures.
|
|
4706
4707
|
examples:
|
|
4707
4708
|
- string
|
|
4708
4709
|
- number
|
|
@@ -4745,9 +4746,10 @@ components:
|
|
|
4745
4746
|
- Valid on scalars and on `object` rows, where the rendered output must
|
|
4746
4747
|
parse into an object. On an array row the template goes in a
|
|
4747
4748
|
`buildArrayHelper` entry instead: on an `objectarray` row's own
|
|
4748
|
-
`extract` it is refused with 422 ("buildArrayHelper"
|
|
4749
|
-
for object array datatype), and on a primitive-array
|
|
4750
|
-
`extract` it
|
|
4749
|
+
`extract` it is refused with 422 ("buildArrayHelper" or "hardCodedValue"
|
|
4750
|
+
must be present for object array datatype.), and on a primitive-array
|
|
4751
|
+
row's own `extract` it yields nothing (the field is left out) without an
|
|
4752
|
+
error
|
|
4751
4753
|
|
|
4752
4754
|
```json
|
|
4753
4755
|
"extract": "{{record.price}} {{record.currency}}" // Combines two fields
|
|
@@ -4889,8 +4891,10 @@ components:
|
|
|
4889
4891
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
4890
4892
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
4891
4893
|
action). Omitting the key entirely means no fallback — the field is left out of the
|
|
4892
|
-
output when the extract is empty (the UI's "Do nothing" action)
|
|
4893
|
-
|
|
4894
|
+
output when the extract is missing or an empty string (the UI's "Do nothing" action),
|
|
4895
|
+
while a null source is still written as null unless `conditional.when` is
|
|
4896
|
+
`extract_not_empty`. Failing the record instead is `conditional.when:
|
|
4897
|
+
fail_record_when_empty`, which excludes a default.
|
|
4894
4898
|
x-celigo-ai-guidance:
|
|
4895
4899
|
- |-
|
|
4896
4900
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
@@ -4898,11 +4902,14 @@ components:
|
|
|
4898
4902
|
empty string renders it as `""` when the extract yields nothing.
|
|
4899
4903
|
Preserve them verbatim when editing or migrating a mapping — dropping
|
|
4900
4904
|
the key changes runtime behavior from "use null/empty string as
|
|
4901
|
-
default value" to "do nothing" (
|
|
4905
|
+
default value" to "do nothing" (a missing or `""` source is left out
|
|
4906
|
+
of the output, while a null source is written as null unless
|
|
4907
|
+
`conditional.when` is `extract_not_empty`).
|
|
4902
4908
|
- |-
|
|
4903
4909
|
The four "Action to take if source field has no value" choices map to:
|
|
4904
|
-
do nothing → no `default` key (
|
|
4905
|
-
extract_not_empty`
|
|
4910
|
+
do nothing → no `default` key (add `conditional.when:
|
|
4911
|
+
extract_not_empty` to leave a null source out too; without it a null
|
|
4912
|
+
source is written as null); use null → `"default": null`; use empty string or
|
|
4906
4913
|
a custom value → `"default": "<value>"`; cause the record to fail →
|
|
4907
4914
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
4908
4915
|
examples:
|
|
@@ -5117,8 +5124,7 @@ components:
|
|
|
5117
5124
|
|
|
5118
5125
|
**When to Use**
|
|
5119
5126
|
- REQUIRED when dataType ends with "array" (stringarray, objectarray, etc.), unless the
|
|
5120
|
-
row
|
|
5121
|
-
`hardCodedValue`
|
|
5127
|
+
row sets `hardCodedValue`: an array row's own `extract` is never read (see `dataType`)
|
|
5122
5128
|
- Each entry in this array contributes elements to the output array
|
|
5123
5129
|
- Multiple entries allow combining data from different input arrays
|
|
5124
5130
|
|
|
@@ -5202,28 +5208,10 @@ components:
|
|
|
5202
5208
|
}
|
|
5203
5209
|
```
|
|
5204
5210
|
|
|
5205
|
-
**
|
|
5206
|
-
-
|
|
5207
|
-
|
|
5208
|
-
|
|
5209
|
-
{
|
|
5210
|
-
"generate": "matrix",
|
|
5211
|
-
"dataType": "arrayarray",
|
|
5212
|
-
"buildArrayHelper": [
|
|
5213
|
-
{
|
|
5214
|
-
"extract": "$.rows[*]", // For each row in the rows array
|
|
5215
|
-
"mappings": [
|
|
5216
|
-
{
|
|
5217
|
-
"dataType": "numberarray", // Note: No generate field for inner arrays
|
|
5218
|
-
"buildArrayHelper": [
|
|
5219
|
-
{"extract": "$.rows.columns[*]"} // Notice: "rows" is singular in the composite object
|
|
5220
|
-
]
|
|
5221
|
-
}
|
|
5222
|
-
]
|
|
5223
|
-
}
|
|
5224
|
-
]
|
|
5225
|
-
}
|
|
5226
|
-
```
|
|
5211
|
+
**Arrays of Arrays**
|
|
5212
|
+
- The mapper has no working type for them: `arrayarray` saves, but every record
|
|
5213
|
+
fails with `Destination datatype is a required field.` Build an array of arrays
|
|
5214
|
+
in a script hook instead.
|
|
5227
5215
|
|
|
5228
5216
|
**Important details**
|
|
5229
5217
|
|
|
@@ -5867,7 +5855,7 @@ components:
|
|
|
5867
5855
|
- Unmapped Value
|
|
5868
5856
|
- '{Original Value}'
|
|
5869
5857
|
x-celigo-ai-guidance:
|
|
5870
|
-
- 'Omit this field entirely when no fallback value is intended
|
|
5858
|
+
- 'Omit this field entirely when no fallback value is intended: a miss the lookup lets through then leaves the mapped field out, and with `allowFailures: false` a miss fails the record whatever the default. An empty string is a value, not "no default" — the save accepts `default: ""`, and an allowed miss writes `""`.'
|
|
5871
5859
|
allowFailures:
|
|
5872
5860
|
type:
|
|
5873
5861
|
- boolean
|
|
@@ -6026,6 +6014,11 @@ components:
|
|
|
6026
6014
|
dropped fields. Either map every field downstream logic
|
|
6027
6015
|
needs forward, or author Transform 2.0 with
|
|
6028
6016
|
``mode: "modify"`` instead.
|
|
6017
|
+
- |-
|
|
6018
|
+
An import's ``responseTransform`` is the exception: it accepts
|
|
6019
|
+
version ``"1"`` only (``"2"`` is refused with 422, verified live
|
|
6020
|
+
2026-10-21), so there, map every response field that response
|
|
6021
|
+
mapping needs.
|
|
6029
6022
|
items:
|
|
6030
6023
|
type: array
|
|
6031
6024
|
items:
|
|
@@ -7482,7 +7475,7 @@ components:
|
|
|
7482
7475
|
connection's traffic counts against the referenced connection's limit instead of its own,
|
|
7483
7476
|
and its own concurrency and auto-recovery settings have no effect. One level only: the
|
|
7484
7477
|
referenced connection may not itself borrow, and a connection that others borrow from
|
|
7485
|
-
cannot start borrowing.
|
|
7478
|
+
cannot start borrowing. A connection cannot reference itself (422).
|
|
7486
7479
|
examples:
|
|
7487
7480
|
- 615dfa0742763671275b70ab
|
|
7488
7481
|
x-celigo-ai-guidance:
|
|
@@ -7519,16 +7512,21 @@ components:
|
|
|
7519
7512
|
type: boolean
|
|
7520
7513
|
description: |-
|
|
7521
7514
|
When true, the connection has been taken offline and is skipped during flow execution.
|
|
7522
|
-
|
|
7523
|
-
|
|
7524
|
-
read it again a few
|
|
7515
|
+
It is set by the connection test a create or `PUT` runs: the result arrives in the
|
|
7516
|
+
write's response or, when the target is slow to answer, shortly afterwards (the audit
|
|
7517
|
+
log records a `system` change; `lastModified` doesn't move), so read it again a few
|
|
7518
|
+
seconds after the write. On an `http` connection the write runs the test only when
|
|
7519
|
+
`http.ping` is configured, and an `http` connection that was never tested has no
|
|
7520
|
+
`offline` key.
|
|
7525
7521
|
readOnly: true
|
|
7526
7522
|
needsAuthorization:
|
|
7527
7523
|
type: boolean
|
|
7528
7524
|
readOnly: true
|
|
7529
7525
|
description: |-
|
|
7530
7526
|
OAuth handshake state. Celigo's OAuth callback sets it to `false` once the user consents
|
|
7531
|
-
and the tokens are stored (see `GET /v1/connection/{_id}/oauth2`).
|
|
7527
|
+
and the tokens are stored (see `GET /v1/connection/{_id}/oauth2`). A connection that
|
|
7528
|
+
was never authorized usually has no `needsAuthorization` key, so its absence does not
|
|
7529
|
+
mean the connection is authorized.
|
|
7532
7530
|
_sourceId:
|
|
7533
7531
|
type: string
|
|
7534
7532
|
format: objectId
|
|
@@ -8503,15 +8501,18 @@ components:
|
|
|
8503
8501
|
clientId:
|
|
8504
8502
|
type: string
|
|
8505
8503
|
description: |
|
|
8506
|
-
OAuth client ID (application ID) registered with the API provider.
|
|
8507
|
-
|
|
8504
|
+
OAuth client ID (application ID) registered with the API provider. An `http`
|
|
8505
|
+
connection takes the app from a `custom_oauth2` iClient referenced by `http._iClientId`
|
|
8506
|
+
(an `mcp` connection from `mcp.http._iClientId`) and doesn't store this field: a create
|
|
8507
|
+
that sends `clientId` and `clientSecret` here answers 201 without either (and stores
|
|
8508
|
+
`useIClientFields: true` unless `false` is sent).
|
|
8508
8509
|
examples:
|
|
8509
8510
|
- 0oa1b2c3d4EXAMPLE5
|
|
8510
8511
|
clientSecret:
|
|
8511
8512
|
type: string
|
|
8512
8513
|
description: |
|
|
8513
|
-
OAuth client secret (encrypted at rest).
|
|
8514
|
-
|
|
8514
|
+
OAuth client secret (encrypted at rest). Not stored on an `http` connection: the secret
|
|
8515
|
+
belongs on the iClient (see `clientId`).
|
|
8515
8516
|
writeOnly: true
|
|
8516
8517
|
examples:
|
|
8517
8518
|
- cs_abc123EXAMPLE456secret
|
|
@@ -8727,9 +8728,11 @@ components:
|
|
|
8727
8728
|
- "authorizecode" — Authorization Code flow (browser-based user consent).
|
|
8728
8729
|
Requires authURI, tokenURI, and user authorization via browser.
|
|
8729
8730
|
- "clientcredentials" — Client Credentials flow (server-to-server, no user).
|
|
8730
|
-
Requires tokenURI
|
|
8731
|
+
Requires tokenURI.
|
|
8731
8732
|
- "password" — Resource Owner Password flow (username/password exchange).
|
|
8732
|
-
Requires tokenURI, username, password
|
|
8733
|
+
Requires tokenURI, username, password.
|
|
8734
|
+
- On an `http` connection the client ID and secret are never stored here: a
|
|
8735
|
+
`custom_oauth2` iClient referenced by `http._iClientId` supplies them.
|
|
8733
8736
|
JWT:
|
|
8734
8737
|
type: object
|
|
8735
8738
|
description: |-
|
|
@@ -14585,7 +14588,7 @@ components:
|
|
|
14585
14588
|
unmatched lookup halts the record. Stored as null when no
|
|
14586
14589
|
fallback is configured.
|
|
14587
14590
|
x-celigo-ai-guidance:
|
|
14588
|
-
- 'Omit this field entirely when no fallback value is intended.
|
|
14591
|
+
- '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 `""`.'
|
|
14589
14592
|
- 'A fallback only takes effect on an allowed miss — pair a real default with allowFailures: true (or useDefaultOnMultipleMatches: true for the ambiguous-match case).'
|
|
14590
14593
|
allowFailures:
|
|
14591
14594
|
type:
|
|
@@ -25469,10 +25472,11 @@ components:
|
|
|
25469
25472
|
|
|
25470
25473
|
Runtime contract: ``options.responseData[]`` (one per
|
|
25471
25474
|
submitted record; ``{statusCode, errors, _json, ...}`` —
|
|
25472
|
-
``id`` is
|
|
25473
|
-
|
|
25474
|
-
|
|
25475
|
-
|
|
25475
|
+
``id`` is the destination record's on real runs; flow test
|
|
25476
|
+
runs substitute the saved ``mockResponse`` or the placeholder
|
|
25477
|
+
response, whose envelope carries the mock's id, such as
|
|
25478
|
+
``1234567890``) → array of the same length, typically mutated
|
|
25479
|
+
to annotate or augment per-record errors.
|
|
25476
25480
|
allOf:
|
|
25477
25481
|
- $ref: '#/components/schemas/Hook'
|
|
25478
25482
|
postAggregate:
|
|
@@ -25511,21 +25515,55 @@ components:
|
|
|
25511
25515
|
- transform
|
|
25512
25516
|
description: |-
|
|
25513
25517
|
Transformation that reshapes the destination system's response after records are
|
|
25514
|
-
imported
|
|
25515
|
-
|
|
25518
|
+
imported: it runs after the postSubmit hook, on each record's response body (`_json`),
|
|
25519
|
+
and its output replaces that body, so response mapping can't read a field the
|
|
25520
|
+
transform drops. Expression rules use version `"1"` (`rules`); version `"2"` is refused
|
|
25521
|
+
on save. Commonly used to extract relevant fields from verbose API responses.
|
|
25516
25522
|
allOf:
|
|
25517
25523
|
- $ref: '#/components/schemas/Transform'
|
|
25524
|
+
- type: object
|
|
25525
|
+
properties:
|
|
25526
|
+
expression:
|
|
25527
|
+
type: object
|
|
25528
|
+
properties:
|
|
25529
|
+
version:
|
|
25530
|
+
type: string
|
|
25531
|
+
enum:
|
|
25532
|
+
- '1'
|
|
25533
|
+
x-enumDescriptions:
|
|
25534
|
+
'1': Transformation 1.0 rules in `rules`, the only version an import's response transform accepts.
|
|
25535
|
+
description: Must be `"1"` on an import's response transform; `"2"` is refused with 422.
|
|
25518
25536
|
x-celigo-ai-guidance:
|
|
25537
|
+
- |-
|
|
25538
|
+
Verified live 2026-10-21 on an HTTP import in a flow run: the postSubmit hook's changes
|
|
25539
|
+
to `responseData[i]._json` were in the transform's input, the transform's output replaced
|
|
25540
|
+
`_json` (only the mapped fields were kept), and response mapping then found nothing at a
|
|
25541
|
+
dropped field's path. The execution-log stage is `responseTransformation`, and
|
|
25542
|
+
`POST /v1/imports/{_id}/invoke` returns the transformed body.
|
|
25543
|
+
- |-
|
|
25544
|
+
A save with `expression.version: "2"` (`rulesTwoDotZero`) fails with 422 "`2` is not a
|
|
25545
|
+
valid enum value for path `responseTransform.expression.version`." Write `version: "1"`
|
|
25546
|
+
rules (`[[{extract, generate}, ...]]`).
|
|
25519
25547
|
- |-
|
|
25520
25548
|
## IMPORT-SPECIFIC BEHAVIOR
|
|
25521
25549
|
|
|
25522
|
-
**Response Transformation**: Transforms the response data returned by the destination system after records have been imported. This allows you to reshape, filter, or enrich the response before it
|
|
25550
|
+
**Response Transformation**: Transforms the response data returned by the destination system after records have been imported. This allows you to reshape, filter, or enrich the response before response mapping reads it; the record passed downstream is the incoming record plus what response mapping copies out.
|
|
25523
25551
|
|
|
25524
25552
|
**Common Use Cases**:
|
|
25525
25553
|
- Extracting relevant fields from verbose API responses
|
|
25526
25554
|
- Normalizing response formats across different destination systems
|
|
25527
25555
|
- Adding computed fields based on response data
|
|
25528
25556
|
- Filtering out sensitive information before logging or further processing
|
|
25557
|
+
- |-
|
|
25558
|
+
## Transformation 1.0 rules only, and what response mapping reads
|
|
25559
|
+
|
|
25560
|
+
Expression rules here are Transformation 1.0 only (`expression.version: "1"`, the
|
|
25561
|
+
`rules` array) or a script: a version "2" expression is refused with 422
|
|
25562
|
+
(`` `2` is not a valid enum value for path `responseTransform.expression.version`. ``).
|
|
25563
|
+
The rules read the parsed response body, and their output replaces `_json`. v1 rules
|
|
25564
|
+
keep only the fields they generate, so the step's response mapping reads those
|
|
25565
|
+
names (at the envelope root or under `_json`) and nothing the rules dropped; `id`
|
|
25566
|
+
still resolves.
|
|
25529
25567
|
modelMetadata:
|
|
25530
25568
|
type: object
|
|
25531
25569
|
description: Metadata about the destination data model captured for this import. Rarely set.
|
|
@@ -25555,6 +25593,11 @@ components:
|
|
|
25555
25593
|
default to Mapper 2.0 at the top-level ``mappings`` (plural) field.
|
|
25556
25594
|
Do not set this field unsolicited; the v2 default produces better
|
|
25557
25595
|
output for modern connectors.
|
|
25596
|
+
|
|
25597
|
+
An import that carries both this field and ``mappings`` runs only
|
|
25598
|
+
``mappings``: the Mapper 1.0 rows are ignored, with no error. A
|
|
25599
|
+
conversion to Mapper 2.0 therefore translates every row and removes
|
|
25600
|
+
this field in the same save.
|
|
25558
25601
|
- |-
|
|
25559
25602
|
Allowed (but not the default) on other import adaptors such as
|
|
25560
25603
|
``HTTPImport``, ``RDBMSImport``, ``FTPImport``, and
|