@celigo/api-specs 0.2.197 → 0.2.199
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 +82 -30
- package/dist/api.yml +82 -30
- package/dist/asynchelper.yml +82 -30
- package/dist/export.yml +227 -62
- package/dist/import.yml +82 -30
- package/dist/tool.yml +215 -60
- package/package.json +1 -1
- package/schemas.json +2 -1
package/dist/import.yml
CHANGED
|
@@ -13177,28 +13177,51 @@ components:
|
|
|
13177
13177
|
|
|
13178
13178
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
13179
13179
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
13180
|
-
action).
|
|
13181
|
-
|
|
13182
|
-
while a null source is still written
|
|
13183
|
-
`extract_not_empty`. Failing the record instead is
|
|
13184
|
-
fail_record_when_empty`, which excludes a default.
|
|
13180
|
+
action). Outside the database and csv / xlsx file imports described below, omitting the
|
|
13181
|
+
key means no fallback — the field is left out of the output when the extract is missing
|
|
13182
|
+
or an empty string (the UI's "Do nothing" action), while a null source is still written
|
|
13183
|
+
as null unless `conditional.when` is `extract_not_empty`. Failing the record instead is
|
|
13184
|
+
`conditional.when: fail_record_when_empty`, which excludes a default.
|
|
13185
|
+
|
|
13186
|
+
On database imports (rdbms, jdbc) and csv / xlsx file imports (such as ftp, or an HTTP
|
|
13187
|
+
import with a file-provider assistant or `http.type: file`; an HTTP import that sends
|
|
13188
|
+
records is not one), the save stores an omitted key as `null` on every row that has no
|
|
13189
|
+
`hardCodedValue`, no `lookupName` and no `extract_not_empty` / `fail_record_when_empty`
|
|
13190
|
+
conditional — the same default the Mapper UI preselects for those imports. The rule runs
|
|
13191
|
+
when the document is saved, on create and on update, so "Do nothing" on those imports is
|
|
13192
|
+
`conditional.when: extract_not_empty`, not an omitted key.
|
|
13185
13193
|
x-celigo-ai-guidance:
|
|
13186
13194
|
- |-
|
|
13187
13195
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
13188
13196
|
absent keys: null renders the destination field as JSON null and the
|
|
13189
13197
|
empty string renders it as `""` when the extract yields nothing.
|
|
13190
|
-
Preserve them verbatim when editing or migrating a mapping
|
|
13191
|
-
the
|
|
13192
|
-
|
|
13193
|
-
|
|
13194
|
-
`conditional.when` is
|
|
13198
|
+
Preserve them verbatim when editing or migrating a mapping. Outside
|
|
13199
|
+
the database / csv-xlsx file import set, dropping the key changes
|
|
13200
|
+
runtime behavior from "use null/empty string as default value" to "do
|
|
13201
|
+
nothing" (a missing or `""` source is left out of the output, while a
|
|
13202
|
+
null source is written as null unless `conditional.when` is
|
|
13203
|
+
`extract_not_empty`); inside that set the save writes a dropped key
|
|
13204
|
+
back as `"default": null`, so dropping a stored null changes nothing
|
|
13205
|
+
while dropping a stored `""` or any other explicit value replaces it
|
|
13206
|
+
with null.
|
|
13195
13207
|
- |-
|
|
13196
13208
|
The four "Action to take if source field has no value" choices map to:
|
|
13197
|
-
do nothing → no `default` key
|
|
13198
|
-
|
|
13199
|
-
source is written as null); use null →
|
|
13200
|
-
|
|
13209
|
+
do nothing → `conditional.when: extract_not_empty` with no `default` key
|
|
13210
|
+
(on imports outside the database / csv-xlsx file set the key may simply
|
|
13211
|
+
be omitted, but a null source is then still written as null); use null →
|
|
13212
|
+
`"default": null`; use empty string or a custom value →
|
|
13213
|
+
`"default": "<value>"`; cause the record to fail →
|
|
13201
13214
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
13215
|
+
- |-
|
|
13216
|
+
On a database or csv / xlsx file import, a row sent with neither a
|
|
13217
|
+
`default` nor one of those conditionals reads back with `"default": null`
|
|
13218
|
+
after the save — create or update — so the destination is written as
|
|
13219
|
+
null; never express "Do nothing" by omission there. A stored
|
|
13220
|
+
`"default": null` on such a row is this save-time default, not a user's
|
|
13221
|
+
choice; keep it when re-sending the row. `"default": null` sent together
|
|
13222
|
+
with `fail_record_when_empty` is rejected with 422 `unsupported_mapping`
|
|
13223
|
+
`"default" and conditional.when "fail_record_when_empty" cannot be
|
|
13224
|
+
present in mapping simultaneously.`
|
|
13202
13225
|
examples:
|
|
13203
13226
|
- N/A
|
|
13204
13227
|
- '0'
|
|
@@ -13605,7 +13628,10 @@ components:
|
|
|
13605
13628
|
not found in the input data.
|
|
13606
13629
|
|
|
13607
13630
|
Explicit JSON `null` is itself a valid fallback (the element is written as
|
|
13608
|
-
JSON null); omitting the key means no fallback is applied
|
|
13631
|
+
JSON null); omitting the key means no fallback is applied — except on database
|
|
13632
|
+
and csv / xlsx file imports, where the save stores an omitted key as `null` on an
|
|
13633
|
+
entry without an `extract_not_empty` / `fail_record_when_empty` conditional, as it
|
|
13634
|
+
does on leaf rows.
|
|
13609
13635
|
examples:
|
|
13610
13636
|
- N/A
|
|
13611
13637
|
- '0'
|
|
@@ -14275,28 +14301,51 @@ components:
|
|
|
14275
14301
|
|
|
14276
14302
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
14277
14303
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
14278
|
-
action).
|
|
14279
|
-
|
|
14280
|
-
while a null source is still written
|
|
14281
|
-
`extract_not_empty`. Failing the record instead is
|
|
14282
|
-
fail_record_when_empty`, which excludes a default.
|
|
14304
|
+
action). Outside the database and csv / xlsx file imports described below, omitting the
|
|
14305
|
+
key means no fallback — the field is left out of the output when the extract is missing
|
|
14306
|
+
or an empty string (the UI's "Do nothing" action), while a null source is still written
|
|
14307
|
+
as null unless `conditional.when` is `extract_not_empty`. Failing the record instead is
|
|
14308
|
+
`conditional.when: fail_record_when_empty`, which excludes a default.
|
|
14309
|
+
|
|
14310
|
+
On database imports (rdbms, jdbc) and csv / xlsx file imports (such as ftp, or an HTTP
|
|
14311
|
+
import with a file-provider assistant or `http.type: file`; an HTTP import that sends
|
|
14312
|
+
records is not one), the save stores an omitted key as `null` on every row that has no
|
|
14313
|
+
`hardCodedValue`, no `lookupName` and no `extract_not_empty` / `fail_record_when_empty`
|
|
14314
|
+
conditional — the same default the Mapper UI preselects for those imports. The rule runs
|
|
14315
|
+
when the document is saved, on create and on update, so "Do nothing" on those imports is
|
|
14316
|
+
`conditional.when: extract_not_empty`, not an omitted key.
|
|
14283
14317
|
x-celigo-ai-guidance:
|
|
14284
14318
|
- |-
|
|
14285
14319
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
14286
14320
|
absent keys: null renders the destination field as JSON null and the
|
|
14287
14321
|
empty string renders it as `""` when the extract yields nothing.
|
|
14288
|
-
Preserve them verbatim when editing or migrating a mapping
|
|
14289
|
-
the
|
|
14290
|
-
|
|
14291
|
-
|
|
14292
|
-
`conditional.when` is
|
|
14322
|
+
Preserve them verbatim when editing or migrating a mapping. Outside
|
|
14323
|
+
the database / csv-xlsx file import set, dropping the key changes
|
|
14324
|
+
runtime behavior from "use null/empty string as default value" to "do
|
|
14325
|
+
nothing" (a missing or `""` source is left out of the output, while a
|
|
14326
|
+
null source is written as null unless `conditional.when` is
|
|
14327
|
+
`extract_not_empty`); inside that set the save writes a dropped key
|
|
14328
|
+
back as `"default": null`, so dropping a stored null changes nothing
|
|
14329
|
+
while dropping a stored `""` or any other explicit value replaces it
|
|
14330
|
+
with null.
|
|
14293
14331
|
- |-
|
|
14294
14332
|
The four "Action to take if source field has no value" choices map to:
|
|
14295
|
-
do nothing → no `default` key
|
|
14296
|
-
|
|
14297
|
-
source is written as null); use null →
|
|
14298
|
-
|
|
14333
|
+
do nothing → `conditional.when: extract_not_empty` with no `default` key
|
|
14334
|
+
(on imports outside the database / csv-xlsx file set the key may simply
|
|
14335
|
+
be omitted, but a null source is then still written as null); use null →
|
|
14336
|
+
`"default": null`; use empty string or a custom value →
|
|
14337
|
+
`"default": "<value>"`; cause the record to fail →
|
|
14299
14338
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
14339
|
+
- |-
|
|
14340
|
+
On a database or csv / xlsx file import, a row sent with neither a
|
|
14341
|
+
`default` nor one of those conditionals reads back with `"default": null`
|
|
14342
|
+
after the save — create or update — so the destination is written as
|
|
14343
|
+
null; never express "Do nothing" by omission there. A stored
|
|
14344
|
+
`"default": null` on such a row is this save-time default, not a user's
|
|
14345
|
+
choice; keep it when re-sending the row. `"default": null` sent together
|
|
14346
|
+
with `fail_record_when_empty` is rejected with 422 `unsupported_mapping`
|
|
14347
|
+
`"default" and conditional.when "fail_record_when_empty" cannot be
|
|
14348
|
+
present in mapping simultaneously.`
|
|
14300
14349
|
examples:
|
|
14301
14350
|
- N/A
|
|
14302
14351
|
- '0'
|
|
@@ -14703,7 +14752,10 @@ components:
|
|
|
14703
14752
|
not found in the input data.
|
|
14704
14753
|
|
|
14705
14754
|
Explicit JSON `null` is itself a valid fallback (the element is written as
|
|
14706
|
-
JSON null); omitting the key means no fallback is applied
|
|
14755
|
+
JSON null); omitting the key means no fallback is applied — except on database
|
|
14756
|
+
and csv / xlsx file imports, where the save stores an omitted key as `null` on an
|
|
14757
|
+
entry without an `extract_not_empty` / `fail_record_when_empty` conditional, as it
|
|
14758
|
+
does on leaf rows.
|
|
14707
14759
|
examples:
|
|
14708
14760
|
- N/A
|
|
14709
14761
|
- '0'
|
package/dist/tool.yml
CHANGED
|
@@ -3849,28 +3849,51 @@ components:
|
|
|
3849
3849
|
|
|
3850
3850
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
3851
3851
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
3852
|
-
action).
|
|
3853
|
-
|
|
3854
|
-
while a null source is still written
|
|
3855
|
-
`extract_not_empty`. Failing the record instead is
|
|
3856
|
-
fail_record_when_empty`, which excludes a default.
|
|
3852
|
+
action). Outside the database and csv / xlsx file imports described below, omitting the
|
|
3853
|
+
key means no fallback — the field is left out of the output when the extract is missing
|
|
3854
|
+
or an empty string (the UI's "Do nothing" action), while a null source is still written
|
|
3855
|
+
as null unless `conditional.when` is `extract_not_empty`. Failing the record instead is
|
|
3856
|
+
`conditional.when: fail_record_when_empty`, which excludes a default.
|
|
3857
|
+
|
|
3858
|
+
On database imports (rdbms, jdbc) and csv / xlsx file imports (such as ftp, or an HTTP
|
|
3859
|
+
import with a file-provider assistant or `http.type: file`; an HTTP import that sends
|
|
3860
|
+
records is not one), the save stores an omitted key as `null` on every row that has no
|
|
3861
|
+
`hardCodedValue`, no `lookupName` and no `extract_not_empty` / `fail_record_when_empty`
|
|
3862
|
+
conditional — the same default the Mapper UI preselects for those imports. The rule runs
|
|
3863
|
+
when the document is saved, on create and on update, so "Do nothing" on those imports is
|
|
3864
|
+
`conditional.when: extract_not_empty`, not an omitted key.
|
|
3857
3865
|
x-celigo-ai-guidance:
|
|
3858
3866
|
- |-
|
|
3859
3867
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
3860
3868
|
absent keys: null renders the destination field as JSON null and the
|
|
3861
3869
|
empty string renders it as `""` when the extract yields nothing.
|
|
3862
|
-
Preserve them verbatim when editing or migrating a mapping
|
|
3863
|
-
the
|
|
3864
|
-
|
|
3865
|
-
|
|
3866
|
-
`conditional.when` is
|
|
3870
|
+
Preserve them verbatim when editing or migrating a mapping. Outside
|
|
3871
|
+
the database / csv-xlsx file import set, dropping the key changes
|
|
3872
|
+
runtime behavior from "use null/empty string as default value" to "do
|
|
3873
|
+
nothing" (a missing or `""` source is left out of the output, while a
|
|
3874
|
+
null source is written as null unless `conditional.when` is
|
|
3875
|
+
`extract_not_empty`); inside that set the save writes a dropped key
|
|
3876
|
+
back as `"default": null`, so dropping a stored null changes nothing
|
|
3877
|
+
while dropping a stored `""` or any other explicit value replaces it
|
|
3878
|
+
with null.
|
|
3867
3879
|
- |-
|
|
3868
3880
|
The four "Action to take if source field has no value" choices map to:
|
|
3869
|
-
do nothing → no `default` key
|
|
3870
|
-
|
|
3871
|
-
source is written as null); use null →
|
|
3872
|
-
|
|
3881
|
+
do nothing → `conditional.when: extract_not_empty` with no `default` key
|
|
3882
|
+
(on imports outside the database / csv-xlsx file set the key may simply
|
|
3883
|
+
be omitted, but a null source is then still written as null); use null →
|
|
3884
|
+
`"default": null`; use empty string or a custom value →
|
|
3885
|
+
`"default": "<value>"`; cause the record to fail →
|
|
3873
3886
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
3887
|
+
- |-
|
|
3888
|
+
On a database or csv / xlsx file import, a row sent with neither a
|
|
3889
|
+
`default` nor one of those conditionals reads back with `"default": null`
|
|
3890
|
+
after the save — create or update — so the destination is written as
|
|
3891
|
+
null; never express "Do nothing" by omission there. A stored
|
|
3892
|
+
`"default": null` on such a row is this save-time default, not a user's
|
|
3893
|
+
choice; keep it when re-sending the row. `"default": null` sent together
|
|
3894
|
+
with `fail_record_when_empty` is rejected with 422 `unsupported_mapping`
|
|
3895
|
+
`"default" and conditional.when "fail_record_when_empty" cannot be
|
|
3896
|
+
present in mapping simultaneously.`
|
|
3874
3897
|
examples:
|
|
3875
3898
|
- N/A
|
|
3876
3899
|
- '0'
|
|
@@ -4277,7 +4300,10 @@ components:
|
|
|
4277
4300
|
not found in the input data.
|
|
4278
4301
|
|
|
4279
4302
|
Explicit JSON `null` is itself a valid fallback (the element is written as
|
|
4280
|
-
JSON null); omitting the key means no fallback is applied
|
|
4303
|
+
JSON null); omitting the key means no fallback is applied — except on database
|
|
4304
|
+
and csv / xlsx file imports, where the save stores an omitted key as `null` on an
|
|
4305
|
+
entry without an `extract_not_empty` / `fail_record_when_empty` conditional, as it
|
|
4306
|
+
does on leaf rows.
|
|
4281
4307
|
examples:
|
|
4282
4308
|
- N/A
|
|
4283
4309
|
- '0'
|
|
@@ -4947,28 +4973,51 @@ components:
|
|
|
4947
4973
|
|
|
4948
4974
|
Explicit JSON `null` is itself a valid fallback: the destination field is written as
|
|
4949
4975
|
JSON null when the extract yields nothing (the Mapper UI's "Use null as default value"
|
|
4950
|
-
action).
|
|
4951
|
-
|
|
4952
|
-
while a null source is still written
|
|
4953
|
-
`extract_not_empty`. Failing the record instead is
|
|
4954
|
-
fail_record_when_empty`, which excludes a default.
|
|
4976
|
+
action). Outside the database and csv / xlsx file imports described below, omitting the
|
|
4977
|
+
key means no fallback — the field is left out of the output when the extract is missing
|
|
4978
|
+
or an empty string (the UI's "Do nothing" action), while a null source is still written
|
|
4979
|
+
as null unless `conditional.when` is `extract_not_empty`. Failing the record instead is
|
|
4980
|
+
`conditional.when: fail_record_when_empty`, which excludes a default.
|
|
4981
|
+
|
|
4982
|
+
On database imports (rdbms, jdbc) and csv / xlsx file imports (such as ftp, or an HTTP
|
|
4983
|
+
import with a file-provider assistant or `http.type: file`; an HTTP import that sends
|
|
4984
|
+
records is not one), the save stores an omitted key as `null` on every row that has no
|
|
4985
|
+
`hardCodedValue`, no `lookupName` and no `extract_not_empty` / `fail_record_when_empty`
|
|
4986
|
+
conditional — the same default the Mapper UI preselects for those imports. The rule runs
|
|
4987
|
+
when the document is saved, on create and on update, so "Do nothing" on those imports is
|
|
4988
|
+
`conditional.when: extract_not_empty`, not an omitted key.
|
|
4955
4989
|
x-celigo-ai-guidance:
|
|
4956
4990
|
- |-
|
|
4957
4991
|
`"default": null` and `"default": ""` are distinct saved values, not
|
|
4958
4992
|
absent keys: null renders the destination field as JSON null and the
|
|
4959
4993
|
empty string renders it as `""` when the extract yields nothing.
|
|
4960
|
-
Preserve them verbatim when editing or migrating a mapping
|
|
4961
|
-
the
|
|
4962
|
-
|
|
4963
|
-
|
|
4964
|
-
`conditional.when` is
|
|
4994
|
+
Preserve them verbatim when editing or migrating a mapping. Outside
|
|
4995
|
+
the database / csv-xlsx file import set, dropping the key changes
|
|
4996
|
+
runtime behavior from "use null/empty string as default value" to "do
|
|
4997
|
+
nothing" (a missing or `""` source is left out of the output, while a
|
|
4998
|
+
null source is written as null unless `conditional.when` is
|
|
4999
|
+
`extract_not_empty`); inside that set the save writes a dropped key
|
|
5000
|
+
back as `"default": null`, so dropping a stored null changes nothing
|
|
5001
|
+
while dropping a stored `""` or any other explicit value replaces it
|
|
5002
|
+
with null.
|
|
4965
5003
|
- |-
|
|
4966
5004
|
The four "Action to take if source field has no value" choices map to:
|
|
4967
|
-
do nothing → no `default` key
|
|
4968
|
-
|
|
4969
|
-
source is written as null); use null →
|
|
4970
|
-
|
|
5005
|
+
do nothing → `conditional.when: extract_not_empty` with no `default` key
|
|
5006
|
+
(on imports outside the database / csv-xlsx file set the key may simply
|
|
5007
|
+
be omitted, but a null source is then still written as null); use null →
|
|
5008
|
+
`"default": null`; use empty string or a custom value →
|
|
5009
|
+
`"default": "<value>"`; cause the record to fail →
|
|
4971
5010
|
`conditional.when: fail_record_when_empty` with no `default` key.
|
|
5011
|
+
- |-
|
|
5012
|
+
On a database or csv / xlsx file import, a row sent with neither a
|
|
5013
|
+
`default` nor one of those conditionals reads back with `"default": null`
|
|
5014
|
+
after the save — create or update — so the destination is written as
|
|
5015
|
+
null; never express "Do nothing" by omission there. A stored
|
|
5016
|
+
`"default": null` on such a row is this save-time default, not a user's
|
|
5017
|
+
choice; keep it when re-sending the row. `"default": null` sent together
|
|
5018
|
+
with `fail_record_when_empty` is rejected with 422 `unsupported_mapping`
|
|
5019
|
+
`"default" and conditional.when "fail_record_when_empty" cannot be
|
|
5020
|
+
present in mapping simultaneously.`
|
|
4972
5021
|
examples:
|
|
4973
5022
|
- N/A
|
|
4974
5023
|
- '0'
|
|
@@ -5375,7 +5424,10 @@ components:
|
|
|
5375
5424
|
not found in the input data.
|
|
5376
5425
|
|
|
5377
5426
|
Explicit JSON `null` is itself a valid fallback (the element is written as
|
|
5378
|
-
JSON null); omitting the key means no fallback is applied
|
|
5427
|
+
JSON null); omitting the key means no fallback is applied — except on database
|
|
5428
|
+
and csv / xlsx file imports, where the save stores an omitted key as `null` on an
|
|
5429
|
+
entry without an `extract_not_empty` / `fail_record_when_empty` conditional, as it
|
|
5430
|
+
does on leaf rows.
|
|
5379
5431
|
examples:
|
|
5380
5432
|
- N/A
|
|
5381
5433
|
- '0'
|
|
@@ -31247,12 +31299,22 @@ components:
|
|
|
31247
31299
|
description: |-
|
|
31248
31300
|
Change-data-capture configuration for real-time listener exports (the "Listen for real-time
|
|
31249
31301
|
data" source step). Present only when `type` is `stream`. Set on `MongodbExport` (MongoDB change
|
|
31250
|
-
streams) and `RDBMSExport` (SQL Server CDC
|
|
31251
|
-
streams change events continuously instead of fetching records on a schedule.
|
|
31302
|
+
streams) and `RDBMSExport` (SQL Server CDC, PostgreSQL logical replication, and MySQL binary-log
|
|
31303
|
+
CDC); the listener streams change events continuously instead of fetching records on a schedule.
|
|
31252
31304
|
|
|
31253
31305
|
On save the API normalizes the `properties` grid into the typed fields: a `snapshot.mode`
|
|
31254
31306
|
entry populates `snapshotMode` and a `capture.mode` entry populates `captureMode`. Every
|
|
31255
31307
|
stream export must resolve a snapshot mode from one of those two places.
|
|
31308
|
+
|
|
31309
|
+
The prerequisites live on the database, not on the export: a listener saves (201) on a
|
|
31310
|
+
connection whose database host is unreachable, so a successful save does not confirm them.
|
|
31311
|
+
The platform's listener documentation requires: for PostgreSQL, logical replication
|
|
31312
|
+
(`wal_level=logical`) and a replication-capable user; for SQL Server, CDC enabled on the
|
|
31313
|
+
database and tables; for MongoDB change streams, a replica set; for MySQL, binary logging in
|
|
31314
|
+
row format (`log_bin=ON`, `binlog_format=ROW`, `binlog_row_image=FULL`) and a connection user
|
|
31315
|
+
holding `REPLICATION SLAVE`, `REPLICATION CLIENT` and `SELECT` on the captured tables
|
|
31316
|
+
(`RELOAD` is not needed on Amazon RDS or Aurora, where the listener takes no global read
|
|
31317
|
+
lock).
|
|
31256
31318
|
x-celigo-ai-guidance:
|
|
31257
31319
|
- |-
|
|
31258
31320
|
A stream export that resolves no snapshot mode — neither `snapshotMode` nor a
|
|
@@ -31271,7 +31333,13 @@ components:
|
|
|
31271
31333
|
description: |-
|
|
31272
31334
|
How MongoDB change-stream events are materialized into records. Use
|
|
31273
31335
|
`change_streams_update_full_with_pre_image` when downstream steps need the document's prior
|
|
31274
|
-
state. MongoDB listeners only — `RDBMSExport` (SQL Server CDC, PostgreSQL) does not
|
|
31336
|
+
state. MongoDB listeners only — `RDBMSExport` (SQL Server CDC, PostgreSQL, MySQL) does not
|
|
31337
|
+
set this.
|
|
31338
|
+
x-celigo-ai-guidance:
|
|
31339
|
+
- |-
|
|
31340
|
+
Never author this on an `RDBMSExport`: the API stores it on a MySQL stream export without
|
|
31341
|
+
rejecting it (unlike `slotName`, it is not gated per adaptor), so nothing at save time
|
|
31342
|
+
catches the mistake and the dead setting rides on the document.
|
|
31275
31343
|
examples:
|
|
31276
31344
|
- change_streams_update_full
|
|
31277
31345
|
- change_streams_update_full_with_pre_image
|
|
@@ -31289,13 +31357,17 @@ components:
|
|
|
31289
31357
|
initial_only: Takes the initial snapshot and then stops, without streaming ongoing changes.
|
|
31290
31358
|
default: no_data
|
|
31291
31359
|
description: |-
|
|
31292
|
-
Whether the listener seeds existing rows before streaming changes.
|
|
31293
|
-
existing data on the first run
|
|
31360
|
+
Whether the listener seeds existing rows before streaming changes. `no_data` streams only
|
|
31361
|
+
new changes; `initial` backfills existing data on the first run where the listener form
|
|
31362
|
+
offers it (MongoDB, SQL Server). The PostgreSQL and MySQL forms offer `no_data` and
|
|
31363
|
+
`when_needed` only; the MySQL listener documentation describes `when_needed` as a one-time
|
|
31364
|
+
read of the captured tables when no stream position is stored or the stored position is no
|
|
31365
|
+
longer on the server.
|
|
31294
31366
|
x-celigo-ai-guidance:
|
|
31295
31367
|
- |-
|
|
31296
|
-
The PostgreSQL listener
|
|
31297
|
-
values on
|
|
31298
|
-
|
|
31368
|
+
The PostgreSQL and MySQL listener forms offer only `no_data` and `when_needed`. The API
|
|
31369
|
+
stores other values on those exports without rejecting them, but they are outside the
|
|
31370
|
+
supported matrix — stay within the form's subset.
|
|
31299
31371
|
examples:
|
|
31300
31372
|
- initial
|
|
31301
31373
|
- no_data
|
|
@@ -31310,8 +31382,9 @@ components:
|
|
|
31310
31382
|
underscore).
|
|
31311
31383
|
x-celigo-ai-guidance:
|
|
31312
31384
|
- |-
|
|
31313
|
-
PostgreSQL connections only: on any other connection the save is
|
|
31314
|
-
`not_allowed` ("CDC slotName can only be used with postgresql adaptor type").
|
|
31385
|
+
PostgreSQL connections only: on any other connection — SQL Server, MySQL — the save is
|
|
31386
|
+
rejected 422 `not_allowed` ("CDC slotName can only be used with postgresql adaptor type").
|
|
31387
|
+
MySQL CDC reads the binary log directly; it has no replication slot.
|
|
31315
31388
|
- |-
|
|
31316
31389
|
The identifier pattern is enforced server-side — an invalid name (uppercase, dashes) is
|
|
31317
31390
|
rejected 422 `invalid_field_value` at save time.
|
|
@@ -31331,17 +31404,27 @@ components:
|
|
|
31331
31404
|
sent, so nothing catches the ambiguity at save time — the exclusivity is the listener
|
|
31332
31405
|
form's rule (publication wins as the sole table filter).
|
|
31333
31406
|
- |-
|
|
31334
|
-
PostgreSQL connections only: rejected 422 `not_allowed` on other connections
|
|
31335
|
-
|
|
31407
|
+
PostgreSQL connections only: rejected 422 `not_allowed` on other connections (SQL Server,
|
|
31408
|
+
MySQL — "CDC publicationName can only be used with postgresql adaptor type"), and the
|
|
31409
|
+
identifier pattern is enforced server-side like `slotName`. A MySQL listener scopes
|
|
31410
|
+
tables only through `rdbms.tables` and the include / exclude `properties`.
|
|
31411
|
+
- |-
|
|
31412
|
+
On a PostgreSQL connection one of this field or `rdbms.tables` must be present: a stream
|
|
31413
|
+
export carrying neither is rejected 422 `missing_required_field` on both paths
|
|
31414
|
+
("publicationName is required when tables is not provided." / "tables is required when
|
|
31415
|
+
publicationName is not provided."). SQL Server and MySQL listeners save without either.
|
|
31336
31416
|
examples:
|
|
31337
31417
|
- celigo_pub
|
|
31338
31418
|
- orders_publication
|
|
31339
31419
|
cursor:
|
|
31340
31420
|
type: string
|
|
31341
31421
|
description: |-
|
|
31342
|
-
Server-managed stream position marker (where the listener resumes reading change events
|
|
31422
|
+
Server-managed stream position marker (where the listener resumes reading change events;
|
|
31423
|
+
the MySQL listener documentation describes it as the binlog file and position last saved).
|
|
31343
31424
|
Maintained by the platform as events are consumed; the UI exposes a reset workflow for it
|
|
31344
|
-
under Cursor Management.
|
|
31425
|
+
under Cursor Management, which appears once a cursor exists. The form's reset is a full save that omits `cursor` and carries the
|
|
31426
|
+
top-level request flag `pendingCursorReset: true`; the API accepts the flag and does not
|
|
31427
|
+
store it on the document.
|
|
31345
31428
|
x-celigo-ai-guidance:
|
|
31346
31429
|
- Never author or modify this field — the platform owns the stream position.
|
|
31347
31430
|
paths:
|
|
@@ -31350,17 +31433,33 @@ components:
|
|
|
31350
31433
|
type: string
|
|
31351
31434
|
description: |-
|
|
31352
31435
|
Dot-notation paths within each raw change event to retain in the emitted record. MongoDB
|
|
31353
|
-
listeners default to `["payload"]` (the whole change document); SQL Server and
|
|
31354
|
-
listeners commonly select `payload.after`, `payload.op`, and related fields to expose
|
|
31355
|
-
changed row and operation type.
|
|
31436
|
+
listeners default to `["payload"]` (the whole change document); SQL Server, PostgreSQL and
|
|
31437
|
+
MySQL listeners commonly select `payload.after`, `payload.op`, and related fields to expose
|
|
31438
|
+
the changed row and operation type. The MySQL listener form offers `payload.after`,
|
|
31439
|
+
`payload.before`, `schema`, `payload.source`, `payload.op`, `payload.transaction`,
|
|
31440
|
+
`payload.ts_ms`, `payload.ts_us` and `payload.ts_ns`, preselecting `payload.after`; it has
|
|
31441
|
+
no `updateDescription`-derived options and no `payload.id`. The MySQL listener
|
|
31442
|
+
documentation describes `after` as the row after the change (empty on a delete), `before`
|
|
31443
|
+
as the row before an update or delete (needs `binlog_row_image=FULL`), `op` as `c` / `u` /
|
|
31444
|
+
`d` / `r` (insert / update / delete / snapshot read) and `source` as the database, table,
|
|
31445
|
+
binlog file and position.
|
|
31356
31446
|
examples:
|
|
31357
31447
|
- - payload
|
|
31358
31448
|
- - payload.after
|
|
31359
31449
|
- payload.op
|
|
31450
|
+
- - payload.after
|
|
31451
|
+
- payload.before
|
|
31452
|
+
- payload.op
|
|
31360
31453
|
intervalTime:
|
|
31361
31454
|
type: integer
|
|
31362
31455
|
default: 300
|
|
31363
|
-
|
|
31456
|
+
minimum: 30
|
|
31457
|
+
x-celigo-ui-override: The minimum mirrors the listener forms, which label this field Max wait time and reject a value under 30 ("Max wait time must be at least 30 seconds."); the API itself stores a lower value.
|
|
31458
|
+
description: |-
|
|
31459
|
+
Interval, in seconds, that bounds how long the listener holds change events before sending
|
|
31460
|
+
a page downstream. The listener forms label it Max wait time, and the platform's listener
|
|
31461
|
+
documentation describes it as the longest a page waits when fewer than `pageSize` events
|
|
31462
|
+
have arrived — a full page is sent as soon as it fills.
|
|
31364
31463
|
examples:
|
|
31365
31464
|
- 300
|
|
31366
31465
|
- 30
|
|
@@ -31369,11 +31468,25 @@ components:
|
|
|
31369
31468
|
description: |-
|
|
31370
31469
|
Connector-engine settings passed through to the underlying CDC connector as name/value
|
|
31371
31470
|
pairs. Mirrors the form's additional-properties grid: the required keys (`capture.mode`
|
|
31372
|
-
and `snapshot.mode` for MongoDB, `snapshot.mode` for SQL Server and
|
|
31471
|
+
and `snapshot.mode` for MongoDB, `snapshot.mode` for SQL Server, PostgreSQL and MySQL) are
|
|
31373
31472
|
serialized first, followed by optional keys such as `field.exclude.list`,
|
|
31374
31473
|
`column.include.list`, or `snapshot.collection.filter.overrides.<db>.<collection>`.
|
|
31375
31474
|
On save the API also lifts `snapshot.mode` / `capture.mode` entries into the typed
|
|
31376
31475
|
`snapshotMode` / `captureMode` fields.
|
|
31476
|
+
|
|
31477
|
+
The MySQL listener form offers six keys: `snapshot.mode` (preselected `no_data`) and five
|
|
31478
|
+
optional comma-separated regular-expression lists — `table.exclude.list` (matched on
|
|
31479
|
+
`database.table`), `database.include.list`, `database.exclude.list`,
|
|
31480
|
+
`column.include.list` and `column.exclude.list` (matched on `database.table.column`).
|
|
31481
|
+
MySQL has no schema layer, so there are no `schema.include.list` / `schema.exclude.list`
|
|
31482
|
+
keys, and the MongoDB keys (`capture.mode`, `collection.exclude.list`,
|
|
31483
|
+
`field.exclude.list`) do not apply. The MySQL listener documentation describes a blank
|
|
31484
|
+
watch list as every table the connection's user can read, trimmed by `table.exclude.list`.
|
|
31485
|
+
x-celigo-ai-guidance:
|
|
31486
|
+
- |-
|
|
31487
|
+
The API persists any key sent here without validating it against the connector, so a
|
|
31488
|
+
MongoDB or PostgreSQL key on a MySQL listener saves cleanly and does nothing — author only
|
|
31489
|
+
the keys the listener's form offers.
|
|
31377
31490
|
items:
|
|
31378
31491
|
type: object
|
|
31379
31492
|
required:
|
|
@@ -37298,8 +37411,8 @@ components:
|
|
|
37298
37411
|
for other connection types. For query-type exports (standard, delta, once) it is REQUIRED
|
|
37299
37412
|
when the _connectionId field references an RDBMS database connection and holds the SQL
|
|
37300
37413
|
query. For real-time stream listeners (`type: "stream"`) it holds the CDC watch list
|
|
37301
|
-
(`tables`) instead — and a
|
|
37302
|
-
(`cdc.publicationName`) may omit this object entirely.
|
|
37414
|
+
(`tables`) instead — and a SQL Server or MySQL listener with no watch list, or a PostgreSQL
|
|
37415
|
+
listener scoped by a publication (`cdc.publicationName`), may omit this object entirely.
|
|
37303
37416
|
|
|
37304
37417
|
**Rdbms export capabilities**
|
|
37305
37418
|
- Execute custom SQL SELECT statements
|
|
@@ -37353,8 +37466,8 @@ components:
|
|
|
37353
37466
|
```
|
|
37354
37467
|
|
|
37355
37468
|
**Real-time CDC listener exports (type: "stream")**
|
|
37356
|
-
SQL Server and
|
|
37357
|
-
changes continuously (the `cdc` object holds the listener settings). A stream export has NO
|
|
37469
|
+
SQL Server, PostgreSQL and MySQL connections support change-data-capture listeners that stream
|
|
37470
|
+
row changes continuously (the `cdc` object holds the listener settings). A stream export has NO
|
|
37358
37471
|
`query` — it watches `tables`:
|
|
37359
37472
|
```json
|
|
37360
37473
|
{
|
|
@@ -37363,9 +37476,26 @@ components:
|
|
|
37363
37476
|
"cdc": { "properties": [{ "name": "snapshot.mode", "value": "no_data" }] }
|
|
37364
37477
|
}
|
|
37365
37478
|
```
|
|
37479
|
+
A MySQL listener names its tables as `database.table` (MySQL has no schema layer):
|
|
37480
|
+
```json
|
|
37481
|
+
{
|
|
37482
|
+
"type": "stream",
|
|
37483
|
+
"rdbms": { "tables": "sales.orders,sales.order_lines" },
|
|
37484
|
+
"cdc": {
|
|
37485
|
+
"properties": [{ "name": "snapshot.mode", "value": "no_data" }],
|
|
37486
|
+
"paths": ["payload.after", "payload.op"]
|
|
37487
|
+
}
|
|
37488
|
+
}
|
|
37489
|
+
```
|
|
37366
37490
|
A PostgreSQL listener can instead scope tables through a publication
|
|
37367
37491
|
(`cdc.publicationName`), in which case `tables` stays unset and the `rdbms` object may be
|
|
37368
|
-
omitted entirely.
|
|
37492
|
+
omitted entirely; on PostgreSQL one of the two must be present. SQL Server and MySQL
|
|
37493
|
+
listeners save with no `tables` and no `rdbms` object at all (a blank `tables` string is
|
|
37494
|
+
dropped on save); the MySQL listener documentation describes that as every table the
|
|
37495
|
+
connection's user can read, trimmed by the `table.exclude.list` property.
|
|
37496
|
+
`POST /v1/exports/preview` rejects a stream export both with `rdbms.tables` sent and with
|
|
37497
|
+
no `rdbms` object at all, with the same 422 `missing_required_field` ("rdbms subschema not
|
|
37498
|
+
defined") — listeners have no preview.
|
|
37369
37499
|
properties:
|
|
37370
37500
|
tables:
|
|
37371
37501
|
type: string
|
|
@@ -37373,16 +37503,26 @@ components:
|
|
|
37373
37503
|
Comma-separated list of tables the CDC listener watches for changes. Used only by real-time
|
|
37374
37504
|
listener exports (`type` is `stream`); standard SQL exports use `query` instead. SQL Server
|
|
37375
37505
|
listeners use fully-qualified three-part names (`database.schema.table`); PostgreSQL
|
|
37376
|
-
listeners use two-part names (`schema.table`)
|
|
37506
|
+
listeners use two-part names (`schema.table`); MySQL listeners use two-part
|
|
37507
|
+
`database.table` names, since MySQL has no schema layer between the database and the
|
|
37508
|
+
table. A PostgreSQL listener must carry this field or `cdc.publicationName`; SQL Server
|
|
37509
|
+
and MySQL listeners may leave it out (for MySQL the listener documentation describes that
|
|
37510
|
+
as every table the connection's user can read, trimmed by `table.exclude.list`).
|
|
37377
37511
|
x-celigo-ai-guidance:
|
|
37378
37512
|
- |-
|
|
37379
37513
|
For a PostgreSQL listener, author EITHER this field OR `cdc.publicationName`, never both —
|
|
37380
37514
|
when a publication is set it is the sole table filter and the listener form clears this
|
|
37381
37515
|
field (the API stores both if sent, so nothing catches the conflict at save time).
|
|
37516
|
+
- |-
|
|
37517
|
+
The API does not validate the names against the engine — a three-part name on a MySQL
|
|
37518
|
+
listener saves cleanly — so nothing at save time catches the wrong form. Use the engine's
|
|
37519
|
+
own: `database.table` on MySQL, `schema.table` on PostgreSQL, `database.schema.table` on
|
|
37520
|
+
SQL Server.
|
|
37382
37521
|
examples:
|
|
37383
37522
|
- UKGODS.dbo.UKG_MetadataStaging
|
|
37384
37523
|
- dbo.WorkOrderT,dbo.OrderLineT
|
|
37385
37524
|
- public.orders,public.customers
|
|
37525
|
+
- sales.orders,sales.order_lines
|
|
37386
37526
|
query:
|
|
37387
37527
|
type: string
|
|
37388
37528
|
x-celigo-agent:
|
|
@@ -38214,8 +38354,8 @@ components:
|
|
|
38214
38354
|
- **Listen for inbound events from NetSuite or Salesforce**
|
|
38215
38355
|
-> `distributed`
|
|
38216
38356
|
- **Stream database changes in real time as they happen**
|
|
38217
|
-
(change data capture from MongoDB, SQL Server,
|
|
38218
|
-
|
|
38357
|
+
(change data capture from MongoDB, SQL Server, PostgreSQL
|
|
38358
|
+
or MySQL — "when a row changes", "listen to my table")
|
|
38219
38359
|
-> `stream`, configured via the `cdc` object
|
|
38220
38360
|
- **Subscribe to an Event Streams topic** ("listen to topic X",
|
|
38221
38361
|
"consume messages published to …") -> `stream` with
|
|
@@ -38239,8 +38379,8 @@ components:
|
|
|
38239
38379
|
delta config is a separate concern that scopes how you fill in
|
|
38240
38380
|
the chosen config, not whether to use it.
|
|
38241
38381
|
- |-
|
|
38242
|
-
`stream` is accepted only on MongoDB and RDBMS exports (SQL Server
|
|
38243
|
-
or
|
|
38382
|
+
`stream` is accepted only on MongoDB and RDBMS exports (SQL Server,
|
|
38383
|
+
PostgreSQL or MySQL connections) and on Event Streams listeners
|
|
38244
38384
|
(`adaptorType: TopicExport`); every other adaptor rejects the save
|
|
38245
38385
|
with `unsupported_export_type`. A MongoDB or RDBMS stream export
|
|
38246
38386
|
must carry `cdc.snapshotMode` (and `cdc.captureMode` on MongoDB) —
|
|
@@ -38265,7 +38405,7 @@ components:
|
|
|
38265
38405
|
simple: Allows manual file uploads through the data loader UI.
|
|
38266
38406
|
blob: Retrieves raw files without parsing them into structured data records.
|
|
38267
38407
|
distributed: Listens for real-time events from NetSuite or Salesforce.
|
|
38268
|
-
stream: Streams events in real time — database change data capture (MongoDB change streams, SQL Server CDC, PostgreSQL logical replication) configured through the `cdc` object, or an Event Streams topic subscription (`TopicExport`) configured through `topic`.
|
|
38408
|
+
stream: Streams events in real time — database change data capture (MongoDB change streams, SQL Server CDC, PostgreSQL logical replication, MySQL binary log) configured through the `cdc` object, or an Event Streams topic subscription (`TopicExport`) configured through `topic`.
|
|
38269
38409
|
all: Explicitly retrieves all available records — equivalent to omitting `type`.
|
|
38270
38410
|
examples:
|
|
38271
38411
|
- webhook
|
|
@@ -38392,6 +38532,21 @@ components:
|
|
|
38392
38532
|
$ref: '#/components/schemas/Distributed'
|
|
38393
38533
|
cdc:
|
|
38394
38534
|
$ref: '#/components/schemas/Cdc'
|
|
38535
|
+
pendingCursorReset:
|
|
38536
|
+
type: boolean
|
|
38537
|
+
writeOnly: true
|
|
38538
|
+
description: |-
|
|
38539
|
+
When true on a save of a stream listener, requests a reset of the listener's stored stream
|
|
38540
|
+
position — the Cursor Management reset the listener form sends, with `cdc.cursor` omitted
|
|
38541
|
+
from the same document; the listener documentation describes the save as clearing the
|
|
38542
|
+
stored cursor and restarting the listener. Accepted on the request and not stored on the
|
|
38543
|
+
export.
|
|
38544
|
+
x-celigo-ai-guidance:
|
|
38545
|
+
- |-
|
|
38546
|
+
Never author this flag — like `cdc.cursor`, the stream position is the platform's, and
|
|
38547
|
+
the reset is the listener form's Cursor Management action. The API accepts it silently
|
|
38548
|
+
(200) and the readback carries no trace that it was sent, so a save that carried it by
|
|
38549
|
+
mistake cannot be seen afterwards on the export.
|
|
38395
38550
|
topic:
|
|
38396
38551
|
$ref: '#/components/schemas/Topic-2'
|
|
38397
38552
|
filesystem:
|