@celigo/api-specs 0.2.206 → 0.2.208
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/api.yml +50 -11
- package/dist/connection.yml +90 -37
- package/dist/enduser.yml +50 -11
- package/dist/export.yml +57 -19
- package/dist/flow.yml +19 -10
- package/dist/import.yml +38 -17
- package/dist/mcp-server.yml +51 -12
- package/dist/tool.yml +124 -36
- package/package.json +1 -1
- package/schemas.json +626 -583
package/dist/tool.yml
CHANGED
|
@@ -7835,10 +7835,12 @@ components:
|
|
|
7835
7835
|
`targetConcurrencyLevel`. While true, `targetConcurrencyLevel` is the throughput lever: a
|
|
7836
7836
|
`concurrencyLevel` sent in a PUT is ignored, and one sent in a PATCH is stored but the
|
|
7837
7837
|
recovery machinery moves it back toward the target. Recovery never runs on `ftp`
|
|
7838
|
-
connections: FTP errors aren't treated as rate limits.
|
|
7838
|
+
connections: FTP errors aren't treated as rate limits. A rate limit hit by a Tool
|
|
7839
|
+
invocation (`POST /v1/tools/{_id}/invoke`) or an export preview
|
|
7840
|
+
(`POST /v1/exports/preview`) leaves the connection's concurrency as it is.
|
|
7839
7841
|
x-celigo-ai-guidance:
|
|
7840
7842
|
- To change throughput while this is true, write `targetConcurrencyLevel`; a `concurrencyLevel` sent in a PUT returns 200 and changes nothing.
|
|
7841
|
-
- Turning it on copies `concurrencyLevel` into `targetConcurrencyLevel`; turning it off unsets the target and leaves `concurrencyLevel` at its current value, which may be below the old target if a recovery was in progress. A `targetConcurrencyLevel`
|
|
7843
|
+
- Turning it on copies `concurrencyLevel` into `targetConcurrencyLevel`; turning it off unsets the target and leaves `concurrencyLevel` at its current value, which may be below the old target if a recovery was in progress. A `targetConcurrencyLevel` sent on a create that sets this false, or with the write that turns this off, is dropped; on a connection where this is already false, writing one fails with 422 `invalid_concurrency_level`.
|
|
7842
7844
|
- These four settings (`concurrencyLevel`, `targetConcurrencyLevel`, `_borrowConcurrencyFromConnectionId`, this flag) accept a credential-free `PATCH /v1/connections/{_id}`. A PUT replaces the whole document, so send each secret back as its masked `******` value (that keeps it) or as a new value, and never drop one to keep it — an omitted password or `http.encrypted` is cleared, and a static token left out (with no `refreshMethod`) fails the PUT with 422.
|
|
7843
7845
|
- On a create, while this is true, set the level with `targetConcurrencyLevel`: on `http`, `ftp`, `rdbms` and `mongodb` connections the save stores the target sent, or the adaptor's default without one (1 for `ftp`, 5 for `rdbms` and `mongodb`, 25 for `http` where the license's `concurrency` is at least 25), as both fields, whatever `concurrencyLevel` the body carried. A create that sends this as `false` keeps its `concurrencyLevel`.
|
|
7844
7846
|
- On an `ftp` connection recovery never runs, and transfer threads are `ftp.multiThreadCount`.
|
|
@@ -8475,8 +8477,10 @@ components:
|
|
|
8475
8477
|
While `autoRecoverRateLimitErrors` is true, a create sets `concurrencyLevel` to this value, and a
|
|
8476
8478
|
create that omits it gets 1 for both. Auto-recovery never runs on FTP connections (FTP errors
|
|
8477
8479
|
aren't treated as rate limits), so nothing climbs back to it.
|
|
8478
|
-
Kept on a `PUT` that omits it, like `concurrencyLevel
|
|
8479
|
-
`autoRecoverRateLimitErrors`
|
|
8480
|
+
Kept on a `PUT` that omits it, like `concurrencyLevel`. A create that sends
|
|
8481
|
+
`autoRecoverRateLimitErrors` false, or a write that turns it off, drops it; on a connection
|
|
8482
|
+
where the flag is already false, sending it fails with 422 `invalid_concurrency_level`
|
|
8483
|
+
("cannot be set when autoRecoverRateLimitErrors is false").
|
|
8480
8484
|
minimum: 1
|
|
8481
8485
|
maximum: 50
|
|
8482
8486
|
examples:
|
|
@@ -9217,9 +9221,10 @@ components:
|
|
|
9217
9221
|
Higher values increase throughput but may trigger API rate limits.
|
|
9218
9222
|
Set this based on the target API's rate limit documentation.
|
|
9219
9223
|
Send no more than the account's licensed maximum (25 standard, 50 with an Environments license).
|
|
9220
|
-
A
|
|
9221
|
-
|
|
9222
|
-
|
|
9224
|
+
A create, a PATCH, and a PUT while `autoRecoverRateLimitErrors` is false reject a decimal with 422
|
|
9225
|
+
`invalid_field_value` and a boolean or a non-numeric string with 422 `invalid_concurrency_level`
|
|
9226
|
+
("must be an integer").
|
|
9227
|
+
Platform-managed while `autoRecoverRateLimitErrors` is true — a create still checks the value but stores the target in its place (25 without a `targetConcurrencyLevel`, where the license's `concurrency` is at least 25), a PUT ignores it without checking it, and the recovery machinery moves it toward the target; set `targetConcurrencyLevel` instead.
|
|
9223
9228
|
At level 1 an import's pages run one at a time, so a record's existence lookup and write finish before the next record's start (measured on a single import); the import's `idLockTemplate` serializes only same-key records and leaves the rest parallel.
|
|
9224
9229
|
minimum: 1
|
|
9225
9230
|
maximum: 50
|
|
@@ -9232,7 +9237,9 @@ components:
|
|
|
9232
9237
|
Ceiling the platform climbs back to after rate-limit recovery, in steps of 25% of this value.
|
|
9233
9238
|
Writing it also sets `concurrencyLevel` to the same value and stops any recovery in progress.
|
|
9234
9239
|
|
|
9235
|
-
Honored only while `autoRecoverRateLimitErrors` is true
|
|
9240
|
+
Honored only while `autoRecoverRateLimitErrors` is true. A create that sends the flag as false, or a
|
|
9241
|
+
write that turns it off, drops it; on a connection where the flag is already false, sending it fails with 422
|
|
9242
|
+
`invalid_concurrency_level` ("cannot be set when autoRecoverRateLimitErrors is false").
|
|
9236
9243
|
minimum: 1
|
|
9237
9244
|
maximum: 50
|
|
9238
9245
|
examples:
|
|
@@ -10003,6 +10010,26 @@ components:
|
|
|
10003
10010
|
examples:
|
|
10004
10011
|
- - rate_limit_exceeded
|
|
10005
10012
|
- too_many_requests
|
|
10013
|
+
failHeaders:
|
|
10014
|
+
type: array
|
|
10015
|
+
description: |
|
|
10016
|
+
Response-header rules for detecting rate limiting, each a header `name` with an
|
|
10017
|
+
optional `value`. A rule with an empty `name` fails the save with 422
|
|
10018
|
+
`invalid_header_format`.
|
|
10019
|
+
items:
|
|
10020
|
+
type: object
|
|
10021
|
+
required:
|
|
10022
|
+
- name
|
|
10023
|
+
properties:
|
|
10024
|
+
name:
|
|
10025
|
+
type: string
|
|
10026
|
+
description: Response header the rule checks.
|
|
10027
|
+
value:
|
|
10028
|
+
type: string
|
|
10029
|
+
description: Header value the rule checks; omit to check the header alone.
|
|
10030
|
+
examples:
|
|
10031
|
+
- - name: X-RateLimit-Remaining
|
|
10032
|
+
value: '0'
|
|
10006
10033
|
limit:
|
|
10007
10034
|
type: number
|
|
10008
10035
|
minimum: 1
|
|
@@ -10631,9 +10658,21 @@ components:
|
|
|
10631
10658
|
- COMPUTE_WH
|
|
10632
10659
|
schema:
|
|
10633
10660
|
type: string
|
|
10634
|
-
description:
|
|
10635
|
-
Default
|
|
10636
|
-
|
|
10661
|
+
description: |-
|
|
10662
|
+
Default schema for the session: unqualified table names in queries resolve here, and
|
|
10663
|
+
optimized bulk load imports create their temporary staging table here even when the
|
|
10664
|
+
destination table is schema-qualified — so the connection's role must be able to
|
|
10665
|
+
create that table in it. When blank, optimized bulk load uses PUBLIC.
|
|
10666
|
+
x-celigo-ai-guidance:
|
|
10667
|
+
- |-
|
|
10668
|
+
When this names a schema the session cannot resolve — Snowflake reports it as not
|
|
10669
|
+
existing or not authorized for the role, and the session is left without a current
|
|
10670
|
+
schema — every optimized bulk load fails at the staging step with code `query_fail`
|
|
10671
|
+
and the message "Failed to run the bulk load query. Err: [TempTableQuery] The
|
|
10672
|
+
provided schema is invalid: <this value>" (the connector's rewrite of Snowflake's
|
|
10673
|
+
"This session does not have a current schema"). Fix: set this to a schema the role
|
|
10674
|
+
can create the staging table in — normally the destination table's own schema — or
|
|
10675
|
+
point the import at a second Snowflake connection with that default schema.
|
|
10637
10676
|
examples:
|
|
10638
10677
|
- PUBLIC
|
|
10639
10678
|
role:
|
|
@@ -17529,6 +17568,7 @@ components:
|
|
|
17529
17568
|
description: |-
|
|
17530
17569
|
Target table for the bulk load.
|
|
17531
17570
|
Must reference an existing table accessible with the connection's credentials; schema-qualified names are supported.
|
|
17571
|
+
On Snowflake, the temporary staging table that precedes the load is created in the connection's default schema (`rdbms.snowflake.schema` on the connection), not in this table's schema.
|
|
17532
17572
|
x-celigo-ai-guidance:
|
|
17533
17573
|
- |-
|
|
17534
17574
|
The name of the target table within the relational database management system
|
|
@@ -20415,9 +20455,23 @@ components:
|
|
|
20415
20455
|
description: |-
|
|
20416
20456
|
Tool resource this import executes. The tool supplies the input schema, routing, page
|
|
20417
20457
|
processors, and output mapping; the import runs that tool when records reach it. Required —
|
|
20418
|
-
a `ToolImport` has no behavior without a tool to run.
|
|
20458
|
+
a `ToolImport` has no behavior without a tool to run. Saving the import fails with 422 when the
|
|
20459
|
+
tool has no routers, a step still being set up, or a branch that does not merge back; the
|
|
20460
|
+
message names the tool.
|
|
20419
20461
|
x-celigo-ai-guidance:
|
|
20420
20462
|
- Reference to the Celigo Tool resource this wrapper invokes.
|
|
20463
|
+
- |-
|
|
20464
|
+
Finish the tool before saving its wrapper: a create or update of this import fails with 422
|
|
20465
|
+
tool_empty_router when the tool has no `routers` (missing or empty; the message reads "…has
|
|
20466
|
+
no steps. Add at least one step to the tool, then save again."), router_setup_in_progress
|
|
20467
|
+
when a step is still being set up (setupInProgress), and tool_dangling_branch when a branch
|
|
20468
|
+
has no nextRouterId ("outputRouter" ends the tool). Fix the tool with PUT /v1/tools/{_id},
|
|
20469
|
+
then save the import again.
|
|
20470
|
+
- |-
|
|
20471
|
+
A save that passes doesn't mean the tool runs: a branch with empty `pageProcessors` passes
|
|
20472
|
+
it, and the tool then fails at invoke with 400 tool_empty_router. Creating a parent tool, or
|
|
20473
|
+
a disabled flow, whose step is this wrapper is not checked either: both saved while the
|
|
20474
|
+
wrapped tool had no routers.
|
|
20421
20475
|
- |-
|
|
20422
20476
|
Required.
|
|
20423
20477
|
The Tool must already exist;
|
|
@@ -20821,16 +20875,20 @@ components:
|
|
|
20821
20875
|
The `key` + `batchSize` combination has not been probed (it needs a B2B Manager
|
|
20822
20876
|
account) — treat it as unverified, neither allowed nor forbidden.
|
|
20823
20877
|
encrypt:
|
|
20824
|
-
type:
|
|
20825
|
-
|
|
20826
|
-
|
|
20827
|
-
|
|
20828
|
-
|
|
20829
|
-
|
|
20830
|
-
|
|
20831
|
-
|
|
20832
|
-
|
|
20833
|
-
|
|
20878
|
+
type: string
|
|
20879
|
+
enum:
|
|
20880
|
+
- pgp
|
|
20881
|
+
x-enumDescriptions:
|
|
20882
|
+
pgp: Encrypt the file with PGP before it is written.
|
|
20883
|
+
description: |-
|
|
20884
|
+
Encrypts the output file; omit it for an unencrypted file. `pgp` requires
|
|
20885
|
+
`pgp.symmetricKeyAlgorithm` and a connection holding the recipient's public key
|
|
20886
|
+
(`pgp.publicKey`) — without either the save fails with 422 `missing_required_field`.
|
|
20887
|
+
The public-key check runs first: on a connection without one, any `encrypt` value,
|
|
20888
|
+
`false` included, fails with 422 `missing_required_field` "pgp publicKey is required
|
|
20889
|
+
when encrypt is selected to perform file encryption." before the value is checked.
|
|
20890
|
+
Blob (file-transfer) imports follow the same rule and return `encrypt` and `pgp` even
|
|
20891
|
+
without `file.type`.
|
|
20834
20892
|
csv:
|
|
20835
20893
|
type: object
|
|
20836
20894
|
description: CSV-specific configuration. Only used when `type` is `"csv"`.
|
|
@@ -20997,8 +21055,8 @@ components:
|
|
|
20997
21055
|
pgp:
|
|
20998
21056
|
type: object
|
|
20999
21057
|
description: |-
|
|
21000
|
-
PGP encryption settings applied when encrypt is
|
|
21001
|
-
signing hash. The connection must hold the recipient's public key.
|
|
21058
|
+
PGP encryption settings applied when `encrypt` is `pgp`; selects the symmetric cipher and
|
|
21059
|
+
the signing hash. The connection must hold the recipient's public key.
|
|
21002
21060
|
properties:
|
|
21003
21061
|
symmetricKeyAlgorithm:
|
|
21004
21062
|
type: string
|
|
@@ -21015,9 +21073,10 @@ components:
|
|
|
21015
21073
|
3des: Triple DES block cipher (legacy).
|
|
21016
21074
|
aes128: AES with a 128-bit key.
|
|
21017
21075
|
aes192: AES with a 192-bit key.
|
|
21018
|
-
aes256: AES with a 256-bit key (
|
|
21019
|
-
|
|
21020
|
-
|
|
21076
|
+
aes256: AES with a 256-bit key (recommended).
|
|
21077
|
+
description: |-
|
|
21078
|
+
Symmetric cipher used to encrypt the file body; required when `encrypt` is `pgp` (no
|
|
21079
|
+
server default). Use aes256 unless the recipient requires another.
|
|
21021
21080
|
examples:
|
|
21022
21081
|
- aes256
|
|
21023
21082
|
- 3des
|
|
@@ -27589,6 +27648,21 @@ components:
|
|
|
27589
27648
|
- shopify
|
|
27590
27649
|
- stripe
|
|
27591
27650
|
- custom
|
|
27651
|
+
formType:
|
|
27652
|
+
type: string
|
|
27653
|
+
enum:
|
|
27654
|
+
- simple
|
|
27655
|
+
- webhook
|
|
27656
|
+
x-enumDescriptions:
|
|
27657
|
+
simple: Simple form, the default for a named provider (e.g. `shopify`, `stripe`).
|
|
27658
|
+
webhook: Full webhook form, the default when `provider` is `custom` or omitted.
|
|
27659
|
+
description: |-
|
|
27660
|
+
Which webhook export form the UI uses to edit this listener. A value sent on create or
|
|
27661
|
+
update wins (case-insensitive — `Simple` is stored as `simple`); a PUT that omits it
|
|
27662
|
+
keeps the stored value, and a new export without one gets the default for its
|
|
27663
|
+
`provider`. Every webhook export GET carries it.
|
|
27664
|
+
examples:
|
|
27665
|
+
- webhook
|
|
27592
27666
|
verify:
|
|
27593
27667
|
type: string
|
|
27594
27668
|
x-celigo-ui-override: Required by the webhook export form (verify is required:true). Encoded to mirror the form so builders produce connectable configurations.
|
|
@@ -31391,6 +31465,8 @@ components:
|
|
|
31391
31465
|
A stream export that resolves no snapshot mode — neither `snapshotMode` nor a
|
|
31392
31466
|
`snapshot.mode` entry in `properties` — is rejected 422 ("Expected field: snapshotMode
|
|
31393
31467
|
to be present").
|
|
31468
|
+
required:
|
|
31469
|
+
- paths
|
|
31394
31470
|
properties:
|
|
31395
31471
|
captureMode:
|
|
31396
31472
|
type: string
|
|
@@ -31500,13 +31576,13 @@ components:
|
|
|
31500
31576
|
- Never author or modify this field — the platform owns the stream position.
|
|
31501
31577
|
paths:
|
|
31502
31578
|
type: array
|
|
31579
|
+
minItems: 1
|
|
31503
31580
|
items:
|
|
31504
31581
|
type: string
|
|
31505
31582
|
description: |-
|
|
31506
|
-
Dot-notation paths within each raw change event to retain in the emitted record
|
|
31507
|
-
|
|
31508
|
-
MySQL
|
|
31509
|
-
the changed row and operation type. The MySQL listener form offers `payload.after`,
|
|
31583
|
+
Dot-notation paths within each raw change event to retain in the emitted record, such as
|
|
31584
|
+
`payload.after` (the changed row or document) and `payload.op` (the operation type).
|
|
31585
|
+
The MySQL listener form offers `payload.after`,
|
|
31510
31586
|
`payload.before`, `schema`, `payload.source`, `payload.op`, `payload.transaction`,
|
|
31511
31587
|
`payload.ts_ms`, `payload.ts_us` and `payload.ts_ns`, preselecting `payload.after`; it has
|
|
31512
31588
|
no `updateDescription`-derived options and no `payload.id`. The MySQL listener
|
|
@@ -31514,8 +31590,9 @@ components:
|
|
|
31514
31590
|
as the row before an update or delete (needs `binlog_row_image=FULL`), `op` as `c` / `u` /
|
|
31515
31591
|
`d` / `r` (insert / update / delete / snapshot read) and `source` as the database, table,
|
|
31516
31592
|
binlog file and position.
|
|
31593
|
+
x-celigo-ui-override: 'Required by every listener form (MongoDB, SQL Server, PostgreSQL, and MySQL: cdc.paths is a required:true multiselect with defaultValue [''payload.after'']). Encoded here to mirror the forms so builders produce complete listener configurations.'
|
|
31517
31594
|
examples:
|
|
31518
|
-
- - payload
|
|
31595
|
+
- - payload.after
|
|
31519
31596
|
- - payload.after
|
|
31520
31597
|
- payload.op
|
|
31521
31598
|
- - payload.after
|
|
@@ -31543,7 +31620,9 @@ components:
|
|
|
31543
31620
|
serialized first, followed by optional keys such as `field.exclude.list`,
|
|
31544
31621
|
`column.include.list`, or `snapshot.collection.filter.overrides.<db>.<collection>`.
|
|
31545
31622
|
On save the API also lifts `snapshot.mode` / `capture.mode` entries into the typed
|
|
31546
|
-
`snapshotMode` / `captureMode` fields.
|
|
31623
|
+
`snapshotMode` / `captureMode` fields. When one body carries both with different values,
|
|
31624
|
+
the `snapshot.mode` entry wins on SQL Server, PostgreSQL and MySQL listeners, and the typed
|
|
31625
|
+
`snapshotMode` wins on a MongoDB listener.
|
|
31547
31626
|
|
|
31548
31627
|
The MySQL listener form offers six keys: `snapshot.mode` (preselected `no_data`) and five
|
|
31549
31628
|
optional comma-separated regular-expression lists — `table.exclude.list` (matched on
|
|
@@ -31558,6 +31637,11 @@ components:
|
|
|
31558
31637
|
The API persists any key sent here without validating it against the connector, so a
|
|
31559
31638
|
MongoDB or PostgreSQL key on a MySQL listener saves cleanly and does nothing — author only
|
|
31560
31639
|
the keys the listener's form offers.
|
|
31640
|
+
- |-
|
|
31641
|
+
On SQL Server, PostgreSQL, and MySQL listeners every save appends one more
|
|
31642
|
+
`snapshot.mode` entry that repeats the resolved mode, so a GET response lists it twice
|
|
31643
|
+
and each GET-then-PUT round trip adds another copy. Send a single `snapshot.mode`
|
|
31644
|
+
entry: drop the trailing repeats before you PUT a fetched export back.
|
|
31561
31645
|
items:
|
|
31562
31646
|
type: object
|
|
31563
31647
|
required:
|
|
@@ -37544,7 +37628,7 @@ components:
|
|
|
37544
37628
|
{
|
|
37545
37629
|
"type": "stream",
|
|
37546
37630
|
"rdbms": { "tables": "public.orders,public.customers" },
|
|
37547
|
-
"cdc": { "properties": [{ "name": "snapshot.mode", "value": "no_data" }] }
|
|
37631
|
+
"cdc": { "properties": [{ "name": "snapshot.mode", "value": "no_data" }], "paths": ["payload.after"] }
|
|
37548
37632
|
}
|
|
37549
37633
|
```
|
|
37550
37634
|
A MySQL listener names its tables as `database.table` (MySQL has no schema layer):
|
|
@@ -38168,7 +38252,9 @@ components:
|
|
|
38168
38252
|
`POST /v1/exports/preview` reads the `mockOutput` in its request body, not the saved one. For
|
|
38169
38253
|
an export the preview supports (an HTTP export, for example), a body that carries it (as an
|
|
38170
38254
|
export read back with GET does) returns that snapshot as a lone `parse` stage without calling
|
|
38171
|
-
the source; remove `mockOutput` from the body to preview live records.
|
|
38255
|
+
the source; remove `mockOutput` from the body to preview live records. A body mock with an
|
|
38256
|
+
empty or missing `page_of_records` still skips the source and returns 200 with empty `data`
|
|
38257
|
+
and an empty `parse` stage.
|
|
38172
38258
|
|
|
38173
38259
|
**Limitations**
|
|
38174
38260
|
|
|
@@ -38453,7 +38539,9 @@ components:
|
|
|
38453
38539
|
`stream` is accepted only on MongoDB and RDBMS exports (SQL Server,
|
|
38454
38540
|
PostgreSQL or MySQL connections) and on Event Streams listeners
|
|
38455
38541
|
(`adaptorType: TopicExport`); every other adaptor rejects the save
|
|
38456
|
-
with `unsupported_export_type
|
|
38542
|
+
with `unsupported_export_type`, and a MariaDB connection is rejected
|
|
38543
|
+
with 422 `missing_required_field` on `type` ("RDBMS stream export not
|
|
38544
|
+
supported for mariadb"). A MongoDB or RDBMS stream export
|
|
38457
38545
|
must carry `cdc.snapshotMode` (and `cdc.captureMode` on MongoDB) —
|
|
38458
38546
|
omitting them fails with 422 `missing_required_field` on those paths.
|
|
38459
38547
|
enum:
|