@celigo/api-specs 0.2.208 → 0.2.210
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 +77 -34
- package/dist/connection.yml +78 -35
- package/dist/enduser.yml +77 -34
- package/dist/export.yml +58 -14
- package/dist/import.yml +120 -9
- package/dist/mcp-server.yml +77 -34
- package/dist/tool.yml +255 -57
- package/package.json +1 -1
- package/schemas.json +166 -153
package/dist/api.yml
CHANGED
|
@@ -8116,26 +8116,36 @@ components:
|
|
|
8116
8116
|
PGP:
|
|
8117
8117
|
type: object
|
|
8118
8118
|
description: |-
|
|
8119
|
-
PGP
|
|
8120
|
-
|
|
8121
|
-
|
|
8122
|
-
`privateKey`
|
|
8119
|
+
PGP keys and options for the file transports — `ftp`, `s3`, the on-premise file system and the
|
|
8120
|
+
cloud file-provider connections such as Box, Dropbox, Google Drive, Azure Blob Storage and
|
|
8121
|
+
Celigo file storage. `publicKey` encrypts the files the connection's imports write,
|
|
8122
|
+
record-generated files and transferred (blob) files alike; `privateKey` with its `passphrase`
|
|
8123
|
+
decrypts the files its exports read and signs encrypted output. Supply at least one of the two.
|
|
8123
8124
|
properties:
|
|
8124
8125
|
publicKey:
|
|
8125
8126
|
type: string
|
|
8126
8127
|
description: |-
|
|
8127
|
-
ASCII-armored PGP public key used to encrypt
|
|
8128
|
-
|
|
8128
|
+
ASCII-armored PGP public key of the recipient, used to encrypt every file an import on this
|
|
8129
|
+
connection writes with `file.encrypt: pgp`; omit it for decrypt-only connections. Returned
|
|
8130
|
+
in clear on reads.
|
|
8129
8131
|
x-celigo-ai-guidance:
|
|
8130
8132
|
- |-
|
|
8131
|
-
|
|
8132
|
-
|
|
8133
|
+
An import on this connection cannot save `file.encrypt: pgp` without it — the save fails
|
|
8134
|
+
with 422 `missing_required_field` on `file.encrypt` ("pgp publicKey is required when
|
|
8135
|
+
encrypt is selected to perform file encryption."); the import form disables its Encrypt
|
|
8136
|
+
files control until the connection holds a key.
|
|
8133
8137
|
privateKey:
|
|
8134
8138
|
type: string
|
|
8135
8139
|
writeOnly: true
|
|
8136
8140
|
description: |-
|
|
8137
8141
|
ASCII-armored PGP private key used to decrypt inbound files after download (encrypted at rest;
|
|
8138
|
-
returned masked as `"******"`). Set this when the connection receives encrypted files
|
|
8142
|
+
returned masked as `"******"`). Set this when the connection receives encrypted files, or
|
|
8143
|
+
when its imports sign what they encrypt (`file.pgp.hashAlgorithm`).
|
|
8144
|
+
x-celigo-ai-guidance:
|
|
8145
|
+
- |-
|
|
8146
|
+
Signing needs it: an import that sets `file.pgp.hashAlgorithm` on a connection without a
|
|
8147
|
+
private key fails to save with 422 `missing_required_field` on `file.pgp.hashAlgorithm`
|
|
8148
|
+
("pgp privateKey is required when hashAlgorithm is selected to perform file signature.").
|
|
8139
8149
|
passphrase:
|
|
8140
8150
|
type: string
|
|
8141
8151
|
writeOnly: true
|
|
@@ -9917,10 +9927,11 @@ components:
|
|
|
9917
9927
|
retryHeader:
|
|
9918
9928
|
type: string
|
|
9919
9929
|
description: |
|
|
9920
|
-
|
|
9921
|
-
|
|
9922
|
-
|
|
9923
|
-
|
|
9930
|
+
Response header the retry reads for its wait once a response has been recognized
|
|
9931
|
+
as rate-limited — a delay in seconds or an HTTP date. It only sets the wait: a
|
|
9932
|
+
response carrying the header is not treated as throttled unless a status, header
|
|
9933
|
+
or body rule under `rateLimit` matches it. Change it only when the API names its
|
|
9934
|
+
retry-after header differently.
|
|
9924
9935
|
default: Retry-After
|
|
9925
9936
|
formType:
|
|
9926
9937
|
type: string
|
|
@@ -10650,42 +10661,60 @@ components:
|
|
|
10650
10661
|
rateLimit:
|
|
10651
10662
|
type: object
|
|
10652
10663
|
description: |
|
|
10653
|
-
|
|
10654
|
-
|
|
10655
|
-
|
|
10656
|
-
|
|
10657
|
-
|
|
10658
|
-
|
|
10664
|
+
Rules for recognizing a throttled response. When any rule is set, every response
|
|
10665
|
+
through the connection is checked against the status code, the header rules and
|
|
10666
|
+
the body rule, and the first match marks the request rate-limited; the retry then
|
|
10667
|
+
waits for the header named by the parent `retryHeader` (`Retry-After` by default).
|
|
10668
|
+
A 429 is recognized with no rules at all; a 2xx response is recognized only through
|
|
10669
|
+
a matching `failHeaders` rule or a matching `failPath` + `failValues` pair, which is
|
|
10670
|
+
how APIs that throttle inside a 200 body (GraphQL, Shopify among them) are handled.
|
|
10659
10671
|
properties:
|
|
10660
10672
|
failStatusCode:
|
|
10661
10673
|
type: number
|
|
10662
10674
|
description: |
|
|
10663
|
-
|
|
10664
|
-
|
|
10665
|
-
|
|
10675
|
+
Status code that marks a response rate-limited in place of the standard 429.
|
|
10676
|
+
Set it only when the API throttles with another non-success code; a 2xx value
|
|
10677
|
+
does not make successful responses count as throttled on its own.
|
|
10666
10678
|
default: 429
|
|
10667
10679
|
failPath:
|
|
10668
10680
|
type: string
|
|
10669
10681
|
description: |
|
|
10670
|
-
JSON path or XPath to
|
|
10671
|
-
|
|
10682
|
+
JSON path or XPath to the body field that carries the API's throttle indicator,
|
|
10683
|
+
for APIs that answer 200 with the error inside the body. Point at the field
|
|
10684
|
+
itself (`errors.0.extensions.code`), not at the array or object around it, and
|
|
10685
|
+
pair it with `failValues`, which supplies the values that mean "throttled".
|
|
10672
10686
|
examples:
|
|
10673
|
-
- errors
|
|
10687
|
+
- errors.0.extensions.code
|
|
10688
|
+
x-celigo-ai-guidance:
|
|
10689
|
+
- |-
|
|
10690
|
+
Saves on its own (the probe shows a `failPath` with no `failValues` is accepted),
|
|
10691
|
+
and the documented contract recognizes a 200 as throttled only when `failValues`
|
|
10692
|
+
is set as well. For Shopify GraphQL the platform's own example is
|
|
10693
|
+
`errors.0.extensions.code` with `failValues: ["THROTTLED"]`.
|
|
10674
10694
|
failValues:
|
|
10675
10695
|
type: array
|
|
10676
10696
|
items:
|
|
10677
10697
|
type: string
|
|
10678
10698
|
description: |
|
|
10679
|
-
Values at failPath that
|
|
10699
|
+
Values at `failPath` that mean the request was throttled; a match on any of them
|
|
10700
|
+
marks the response rate-limited.
|
|
10680
10701
|
examples:
|
|
10681
|
-
- -
|
|
10682
|
-
-
|
|
10702
|
+
- - THROTTLED
|
|
10703
|
+
- MAX_COST_EXCEEDED
|
|
10704
|
+
x-celigo-ai-guidance:
|
|
10705
|
+
- |-
|
|
10706
|
+
Needs `failPath`: `failValues` without it fails the save with 422
|
|
10707
|
+
`dependent_field` ("The field: failValues should not be specified without the
|
|
10708
|
+
field: failPath for the Connection.").
|
|
10683
10709
|
failHeaders:
|
|
10684
10710
|
type: array
|
|
10685
10711
|
description: |
|
|
10686
|
-
Response-header rules for
|
|
10687
|
-
optional `value`. A rule with
|
|
10688
|
-
|
|
10712
|
+
Response-header rules for recognizing a throttled response, each a header `name`
|
|
10713
|
+
with an optional `value`. A rule with a `value` matches when the response header
|
|
10714
|
+
carries that value — the stored text is compared with the header as received; a
|
|
10715
|
+
rule with no `value` matches whenever the header is present at all, so a header
|
|
10716
|
+
the API sends on every response (a remaining-quota counter) would mark every
|
|
10717
|
+
response throttled — give such a header a value.
|
|
10689
10718
|
items:
|
|
10690
10719
|
type: object
|
|
10691
10720
|
required:
|
|
@@ -10696,18 +10725,32 @@ components:
|
|
|
10696
10725
|
description: Response header the rule checks.
|
|
10697
10726
|
value:
|
|
10698
10727
|
type: string
|
|
10699
|
-
description: Header value the rule
|
|
10728
|
+
description: Header value the rule compares with the response header; omit to match on the header's presence alone. Stored as sent.
|
|
10700
10729
|
examples:
|
|
10701
10730
|
- - name: X-RateLimit-Remaining
|
|
10702
10731
|
value: '0'
|
|
10732
|
+
x-celigo-ai-guidance:
|
|
10733
|
+
- |-
|
|
10734
|
+
A rule without a `name` fails the save with 422 `invalid_header_format`; a rule
|
|
10735
|
+
with a name and no value saves and matches on presence. The value is stored as
|
|
10736
|
+
sent and not validated at save time.
|
|
10703
10737
|
limit:
|
|
10704
10738
|
type: number
|
|
10705
10739
|
minimum: 1
|
|
10740
|
+
x-celigo-ui-override: Semantics mirror the connection form, which labels the field "Wait time between HTTP requests" and requires the value in milliseconds (fieldDefinitions/resources/connection.js 'http.rateLimit.limit').
|
|
10706
10741
|
description: |
|
|
10707
|
-
|
|
10708
|
-
|
|
10742
|
+
Minimum spacing between consecutive requests through the connection, in
|
|
10743
|
+
milliseconds, for APIs that cap request rate rather than concurrency. It only
|
|
10744
|
+
applies when the connection runs one request at a time.
|
|
10709
10745
|
examples:
|
|
10710
10746
|
- 1000
|
|
10747
|
+
x-celigo-ai-guidance:
|
|
10748
|
+
- |-
|
|
10749
|
+
Saves only when `concurrencyLevel` is 1 — and, with `autoRecoverRateLimitErrors`
|
|
10750
|
+
on, `targetConcurrencyLevel` is 1 as well; otherwise the save fails with 422
|
|
10751
|
+
`invalid_concurrency_level` ("The field "connection.http.concurrencyLevel"
|
|
10752
|
+
should be set to 1 when the field "connection.http.rateLimit.limit" is
|
|
10753
|
+
populated."). A numeric string is stored as a number.
|
|
10711
10754
|
headers:
|
|
10712
10755
|
type: array
|
|
10713
10756
|
description: |
|
package/dist/connection.yml
CHANGED
|
@@ -1027,7 +1027,7 @@ paths:
|
|
|
1027
1027
|
| `/_borrowConcurrencyFromConnectionId` | Share another connection's concurrency budget. `remove` clears it |
|
|
1028
1028
|
| `/autoRecoverRateLimitErrors` | Rate-limit auto-recovery toggle. Turning it on copies the current level into the target; turning it off unsets the target and leaves the level at its current value |
|
|
1029
1029
|
| `/http/rateLimit/failStatusCode`, `/http/rateLimit/failPath`, `/http/rateLimit/failHeaders` | Rate-limit detection rules. Send `failHeaders` as the whole array; on one element only `replace` of an existing entry works (e.g. `/http/rateLimit/failHeaders/0`), and `add` or `remove` on an element fails with 422 |
|
|
1030
|
-
| `/http/rateLimit/limit` |
|
|
1030
|
+
| `/http/rateLimit/limit` | Wait between consecutive requests, in milliseconds. Accepted only at a concurrency of 1: set `/http/targetConcurrencyLevel` (while `autoRecoverRateLimitErrors` is true) or `/http/concurrencyLevel` (while it is false) to 1 in the same patch; at any other level it fails with 422 `invalid_concurrency_level` |
|
|
1031
1031
|
| `/endUserProvidedFields` | Dot-paths MCP end users must supply on their own child copy of this connection. `replace` with `[]` or `remove` clears the list, and `add` on `/endUserProvidedFields/-` appends one path; a path the account owns (`type`, `_agentId`, `wrapper._stackId`, any `<adaptor>._iClientId`) is rejected |
|
|
1032
1032
|
|
|
1033
1033
|
`replace` and `add` both set the value (a currently unset field is fine);
|
|
@@ -3949,26 +3949,36 @@ components:
|
|
|
3949
3949
|
PGP:
|
|
3950
3950
|
type: object
|
|
3951
3951
|
description: |-
|
|
3952
|
-
PGP
|
|
3953
|
-
|
|
3954
|
-
|
|
3955
|
-
`privateKey`
|
|
3952
|
+
PGP keys and options for the file transports — `ftp`, `s3`, the on-premise file system and the
|
|
3953
|
+
cloud file-provider connections such as Box, Dropbox, Google Drive, Azure Blob Storage and
|
|
3954
|
+
Celigo file storage. `publicKey` encrypts the files the connection's imports write,
|
|
3955
|
+
record-generated files and transferred (blob) files alike; `privateKey` with its `passphrase`
|
|
3956
|
+
decrypts the files its exports read and signs encrypted output. Supply at least one of the two.
|
|
3956
3957
|
properties:
|
|
3957
3958
|
publicKey:
|
|
3958
3959
|
type: string
|
|
3959
3960
|
description: |-
|
|
3960
|
-
ASCII-armored PGP public key used to encrypt
|
|
3961
|
-
|
|
3961
|
+
ASCII-armored PGP public key of the recipient, used to encrypt every file an import on this
|
|
3962
|
+
connection writes with `file.encrypt: pgp`; omit it for decrypt-only connections. Returned
|
|
3963
|
+
in clear on reads.
|
|
3962
3964
|
x-celigo-ai-guidance:
|
|
3963
3965
|
- |-
|
|
3964
|
-
|
|
3965
|
-
|
|
3966
|
+
An import on this connection cannot save `file.encrypt: pgp` without it — the save fails
|
|
3967
|
+
with 422 `missing_required_field` on `file.encrypt` ("pgp publicKey is required when
|
|
3968
|
+
encrypt is selected to perform file encryption."); the import form disables its Encrypt
|
|
3969
|
+
files control until the connection holds a key.
|
|
3966
3970
|
privateKey:
|
|
3967
3971
|
type: string
|
|
3968
3972
|
writeOnly: true
|
|
3969
3973
|
description: |-
|
|
3970
3974
|
ASCII-armored PGP private key used to decrypt inbound files after download (encrypted at rest;
|
|
3971
|
-
returned masked as `"******"`). Set this when the connection receives encrypted files
|
|
3975
|
+
returned masked as `"******"`). Set this when the connection receives encrypted files, or
|
|
3976
|
+
when its imports sign what they encrypt (`file.pgp.hashAlgorithm`).
|
|
3977
|
+
x-celigo-ai-guidance:
|
|
3978
|
+
- |-
|
|
3979
|
+
Signing needs it: an import that sets `file.pgp.hashAlgorithm` on a connection without a
|
|
3980
|
+
private key fails to save with 422 `missing_required_field` on `file.pgp.hashAlgorithm`
|
|
3981
|
+
("pgp privateKey is required when hashAlgorithm is selected to perform file signature.").
|
|
3972
3982
|
passphrase:
|
|
3973
3983
|
type: string
|
|
3974
3984
|
writeOnly: true
|
|
@@ -5750,10 +5760,11 @@ components:
|
|
|
5750
5760
|
retryHeader:
|
|
5751
5761
|
type: string
|
|
5752
5762
|
description: |
|
|
5753
|
-
|
|
5754
|
-
|
|
5755
|
-
|
|
5756
|
-
|
|
5763
|
+
Response header the retry reads for its wait once a response has been recognized
|
|
5764
|
+
as rate-limited — a delay in seconds or an HTTP date. It only sets the wait: a
|
|
5765
|
+
response carrying the header is not treated as throttled unless a status, header
|
|
5766
|
+
or body rule under `rateLimit` matches it. Change it only when the API names its
|
|
5767
|
+
retry-after header differently.
|
|
5757
5768
|
default: Retry-After
|
|
5758
5769
|
formType:
|
|
5759
5770
|
type: string
|
|
@@ -6483,42 +6494,60 @@ components:
|
|
|
6483
6494
|
rateLimit:
|
|
6484
6495
|
type: object
|
|
6485
6496
|
description: |
|
|
6486
|
-
|
|
6487
|
-
|
|
6488
|
-
|
|
6489
|
-
|
|
6490
|
-
|
|
6491
|
-
|
|
6497
|
+
Rules for recognizing a throttled response. When any rule is set, every response
|
|
6498
|
+
through the connection is checked against the status code, the header rules and
|
|
6499
|
+
the body rule, and the first match marks the request rate-limited; the retry then
|
|
6500
|
+
waits for the header named by the parent `retryHeader` (`Retry-After` by default).
|
|
6501
|
+
A 429 is recognized with no rules at all; a 2xx response is recognized only through
|
|
6502
|
+
a matching `failHeaders` rule or a matching `failPath` + `failValues` pair, which is
|
|
6503
|
+
how APIs that throttle inside a 200 body (GraphQL, Shopify among them) are handled.
|
|
6492
6504
|
properties:
|
|
6493
6505
|
failStatusCode:
|
|
6494
6506
|
type: number
|
|
6495
6507
|
description: |
|
|
6496
|
-
|
|
6497
|
-
|
|
6498
|
-
|
|
6508
|
+
Status code that marks a response rate-limited in place of the standard 429.
|
|
6509
|
+
Set it only when the API throttles with another non-success code; a 2xx value
|
|
6510
|
+
does not make successful responses count as throttled on its own.
|
|
6499
6511
|
default: 429
|
|
6500
6512
|
failPath:
|
|
6501
6513
|
type: string
|
|
6502
6514
|
description: |
|
|
6503
|
-
JSON path or XPath to
|
|
6504
|
-
|
|
6515
|
+
JSON path or XPath to the body field that carries the API's throttle indicator,
|
|
6516
|
+
for APIs that answer 200 with the error inside the body. Point at the field
|
|
6517
|
+
itself (`errors.0.extensions.code`), not at the array or object around it, and
|
|
6518
|
+
pair it with `failValues`, which supplies the values that mean "throttled".
|
|
6505
6519
|
examples:
|
|
6506
|
-
- errors
|
|
6520
|
+
- errors.0.extensions.code
|
|
6521
|
+
x-celigo-ai-guidance:
|
|
6522
|
+
- |-
|
|
6523
|
+
Saves on its own (the probe shows a `failPath` with no `failValues` is accepted),
|
|
6524
|
+
and the documented contract recognizes a 200 as throttled only when `failValues`
|
|
6525
|
+
is set as well. For Shopify GraphQL the platform's own example is
|
|
6526
|
+
`errors.0.extensions.code` with `failValues: ["THROTTLED"]`.
|
|
6507
6527
|
failValues:
|
|
6508
6528
|
type: array
|
|
6509
6529
|
items:
|
|
6510
6530
|
type: string
|
|
6511
6531
|
description: |
|
|
6512
|
-
Values at failPath that
|
|
6532
|
+
Values at `failPath` that mean the request was throttled; a match on any of them
|
|
6533
|
+
marks the response rate-limited.
|
|
6513
6534
|
examples:
|
|
6514
|
-
- -
|
|
6515
|
-
-
|
|
6535
|
+
- - THROTTLED
|
|
6536
|
+
- MAX_COST_EXCEEDED
|
|
6537
|
+
x-celigo-ai-guidance:
|
|
6538
|
+
- |-
|
|
6539
|
+
Needs `failPath`: `failValues` without it fails the save with 422
|
|
6540
|
+
`dependent_field` ("The field: failValues should not be specified without the
|
|
6541
|
+
field: failPath for the Connection.").
|
|
6516
6542
|
failHeaders:
|
|
6517
6543
|
type: array
|
|
6518
6544
|
description: |
|
|
6519
|
-
Response-header rules for
|
|
6520
|
-
optional `value`. A rule with
|
|
6521
|
-
|
|
6545
|
+
Response-header rules for recognizing a throttled response, each a header `name`
|
|
6546
|
+
with an optional `value`. A rule with a `value` matches when the response header
|
|
6547
|
+
carries that value — the stored text is compared with the header as received; a
|
|
6548
|
+
rule with no `value` matches whenever the header is present at all, so a header
|
|
6549
|
+
the API sends on every response (a remaining-quota counter) would mark every
|
|
6550
|
+
response throttled — give such a header a value.
|
|
6522
6551
|
items:
|
|
6523
6552
|
type: object
|
|
6524
6553
|
required:
|
|
@@ -6529,18 +6558,32 @@ components:
|
|
|
6529
6558
|
description: Response header the rule checks.
|
|
6530
6559
|
value:
|
|
6531
6560
|
type: string
|
|
6532
|
-
description: Header value the rule
|
|
6561
|
+
description: Header value the rule compares with the response header; omit to match on the header's presence alone. Stored as sent.
|
|
6533
6562
|
examples:
|
|
6534
6563
|
- - name: X-RateLimit-Remaining
|
|
6535
6564
|
value: '0'
|
|
6565
|
+
x-celigo-ai-guidance:
|
|
6566
|
+
- |-
|
|
6567
|
+
A rule without a `name` fails the save with 422 `invalid_header_format`; a rule
|
|
6568
|
+
with a name and no value saves and matches on presence. The value is stored as
|
|
6569
|
+
sent and not validated at save time.
|
|
6536
6570
|
limit:
|
|
6537
6571
|
type: number
|
|
6538
6572
|
minimum: 1
|
|
6573
|
+
x-celigo-ui-override: Semantics mirror the connection form, which labels the field "Wait time between HTTP requests" and requires the value in milliseconds (fieldDefinitions/resources/connection.js 'http.rateLimit.limit').
|
|
6539
6574
|
description: |
|
|
6540
|
-
|
|
6541
|
-
|
|
6575
|
+
Minimum spacing between consecutive requests through the connection, in
|
|
6576
|
+
milliseconds, for APIs that cap request rate rather than concurrency. It only
|
|
6577
|
+
applies when the connection runs one request at a time.
|
|
6542
6578
|
examples:
|
|
6543
6579
|
- 1000
|
|
6580
|
+
x-celigo-ai-guidance:
|
|
6581
|
+
- |-
|
|
6582
|
+
Saves only when `concurrencyLevel` is 1 — and, with `autoRecoverRateLimitErrors`
|
|
6583
|
+
on, `targetConcurrencyLevel` is 1 as well; otherwise the save fails with 422
|
|
6584
|
+
`invalid_concurrency_level` ("The field "connection.http.concurrencyLevel"
|
|
6585
|
+
should be set to 1 when the field "connection.http.rateLimit.limit" is
|
|
6586
|
+
populated."). A numeric string is stored as a number.
|
|
6544
6587
|
headers:
|
|
6545
6588
|
type: array
|
|
6546
6589
|
description: |
|
package/dist/enduser.yml
CHANGED
|
@@ -1974,26 +1974,36 @@ components:
|
|
|
1974
1974
|
PGP:
|
|
1975
1975
|
type: object
|
|
1976
1976
|
description: |-
|
|
1977
|
-
PGP
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
`privateKey`
|
|
1977
|
+
PGP keys and options for the file transports — `ftp`, `s3`, the on-premise file system and the
|
|
1978
|
+
cloud file-provider connections such as Box, Dropbox, Google Drive, Azure Blob Storage and
|
|
1979
|
+
Celigo file storage. `publicKey` encrypts the files the connection's imports write,
|
|
1980
|
+
record-generated files and transferred (blob) files alike; `privateKey` with its `passphrase`
|
|
1981
|
+
decrypts the files its exports read and signs encrypted output. Supply at least one of the two.
|
|
1981
1982
|
properties:
|
|
1982
1983
|
publicKey:
|
|
1983
1984
|
type: string
|
|
1984
1985
|
description: |-
|
|
1985
|
-
ASCII-armored PGP public key used to encrypt
|
|
1986
|
-
|
|
1986
|
+
ASCII-armored PGP public key of the recipient, used to encrypt every file an import on this
|
|
1987
|
+
connection writes with `file.encrypt: pgp`; omit it for decrypt-only connections. Returned
|
|
1988
|
+
in clear on reads.
|
|
1987
1989
|
x-celigo-ai-guidance:
|
|
1988
1990
|
- |-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
+
An import on this connection cannot save `file.encrypt: pgp` without it — the save fails
|
|
1992
|
+
with 422 `missing_required_field` on `file.encrypt` ("pgp publicKey is required when
|
|
1993
|
+
encrypt is selected to perform file encryption."); the import form disables its Encrypt
|
|
1994
|
+
files control until the connection holds a key.
|
|
1991
1995
|
privateKey:
|
|
1992
1996
|
type: string
|
|
1993
1997
|
writeOnly: true
|
|
1994
1998
|
description: |-
|
|
1995
1999
|
ASCII-armored PGP private key used to decrypt inbound files after download (encrypted at rest;
|
|
1996
|
-
returned masked as `"******"`). Set this when the connection receives encrypted files
|
|
2000
|
+
returned masked as `"******"`). Set this when the connection receives encrypted files, or
|
|
2001
|
+
when its imports sign what they encrypt (`file.pgp.hashAlgorithm`).
|
|
2002
|
+
x-celigo-ai-guidance:
|
|
2003
|
+
- |-
|
|
2004
|
+
Signing needs it: an import that sets `file.pgp.hashAlgorithm` on a connection without a
|
|
2005
|
+
private key fails to save with 422 `missing_required_field` on `file.pgp.hashAlgorithm`
|
|
2006
|
+
("pgp privateKey is required when hashAlgorithm is selected to perform file signature.").
|
|
1997
2007
|
passphrase:
|
|
1998
2008
|
type: string
|
|
1999
2009
|
writeOnly: true
|
|
@@ -3775,10 +3785,11 @@ components:
|
|
|
3775
3785
|
retryHeader:
|
|
3776
3786
|
type: string
|
|
3777
3787
|
description: |
|
|
3778
|
-
|
|
3779
|
-
|
|
3780
|
-
|
|
3781
|
-
|
|
3788
|
+
Response header the retry reads for its wait once a response has been recognized
|
|
3789
|
+
as rate-limited — a delay in seconds or an HTTP date. It only sets the wait: a
|
|
3790
|
+
response carrying the header is not treated as throttled unless a status, header
|
|
3791
|
+
or body rule under `rateLimit` matches it. Change it only when the API names its
|
|
3792
|
+
retry-after header differently.
|
|
3782
3793
|
default: Retry-After
|
|
3783
3794
|
formType:
|
|
3784
3795
|
type: string
|
|
@@ -4508,42 +4519,60 @@ components:
|
|
|
4508
4519
|
rateLimit:
|
|
4509
4520
|
type: object
|
|
4510
4521
|
description: |
|
|
4511
|
-
|
|
4512
|
-
|
|
4513
|
-
|
|
4514
|
-
|
|
4515
|
-
|
|
4516
|
-
|
|
4522
|
+
Rules for recognizing a throttled response. When any rule is set, every response
|
|
4523
|
+
through the connection is checked against the status code, the header rules and
|
|
4524
|
+
the body rule, and the first match marks the request rate-limited; the retry then
|
|
4525
|
+
waits for the header named by the parent `retryHeader` (`Retry-After` by default).
|
|
4526
|
+
A 429 is recognized with no rules at all; a 2xx response is recognized only through
|
|
4527
|
+
a matching `failHeaders` rule or a matching `failPath` + `failValues` pair, which is
|
|
4528
|
+
how APIs that throttle inside a 200 body (GraphQL, Shopify among them) are handled.
|
|
4517
4529
|
properties:
|
|
4518
4530
|
failStatusCode:
|
|
4519
4531
|
type: number
|
|
4520
4532
|
description: |
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4533
|
+
Status code that marks a response rate-limited in place of the standard 429.
|
|
4534
|
+
Set it only when the API throttles with another non-success code; a 2xx value
|
|
4535
|
+
does not make successful responses count as throttled on its own.
|
|
4524
4536
|
default: 429
|
|
4525
4537
|
failPath:
|
|
4526
4538
|
type: string
|
|
4527
4539
|
description: |
|
|
4528
|
-
JSON path or XPath to
|
|
4529
|
-
|
|
4540
|
+
JSON path or XPath to the body field that carries the API's throttle indicator,
|
|
4541
|
+
for APIs that answer 200 with the error inside the body. Point at the field
|
|
4542
|
+
itself (`errors.0.extensions.code`), not at the array or object around it, and
|
|
4543
|
+
pair it with `failValues`, which supplies the values that mean "throttled".
|
|
4530
4544
|
examples:
|
|
4531
|
-
- errors
|
|
4545
|
+
- errors.0.extensions.code
|
|
4546
|
+
x-celigo-ai-guidance:
|
|
4547
|
+
- |-
|
|
4548
|
+
Saves on its own (the probe shows a `failPath` with no `failValues` is accepted),
|
|
4549
|
+
and the documented contract recognizes a 200 as throttled only when `failValues`
|
|
4550
|
+
is set as well. For Shopify GraphQL the platform's own example is
|
|
4551
|
+
`errors.0.extensions.code` with `failValues: ["THROTTLED"]`.
|
|
4532
4552
|
failValues:
|
|
4533
4553
|
type: array
|
|
4534
4554
|
items:
|
|
4535
4555
|
type: string
|
|
4536
4556
|
description: |
|
|
4537
|
-
Values at failPath that
|
|
4557
|
+
Values at `failPath` that mean the request was throttled; a match on any of them
|
|
4558
|
+
marks the response rate-limited.
|
|
4538
4559
|
examples:
|
|
4539
|
-
- -
|
|
4540
|
-
-
|
|
4560
|
+
- - THROTTLED
|
|
4561
|
+
- MAX_COST_EXCEEDED
|
|
4562
|
+
x-celigo-ai-guidance:
|
|
4563
|
+
- |-
|
|
4564
|
+
Needs `failPath`: `failValues` without it fails the save with 422
|
|
4565
|
+
`dependent_field` ("The field: failValues should not be specified without the
|
|
4566
|
+
field: failPath for the Connection.").
|
|
4541
4567
|
failHeaders:
|
|
4542
4568
|
type: array
|
|
4543
4569
|
description: |
|
|
4544
|
-
Response-header rules for
|
|
4545
|
-
optional `value`. A rule with
|
|
4546
|
-
|
|
4570
|
+
Response-header rules for recognizing a throttled response, each a header `name`
|
|
4571
|
+
with an optional `value`. A rule with a `value` matches when the response header
|
|
4572
|
+
carries that value — the stored text is compared with the header as received; a
|
|
4573
|
+
rule with no `value` matches whenever the header is present at all, so a header
|
|
4574
|
+
the API sends on every response (a remaining-quota counter) would mark every
|
|
4575
|
+
response throttled — give such a header a value.
|
|
4547
4576
|
items:
|
|
4548
4577
|
type: object
|
|
4549
4578
|
required:
|
|
@@ -4554,18 +4583,32 @@ components:
|
|
|
4554
4583
|
description: Response header the rule checks.
|
|
4555
4584
|
value:
|
|
4556
4585
|
type: string
|
|
4557
|
-
description: Header value the rule
|
|
4586
|
+
description: Header value the rule compares with the response header; omit to match on the header's presence alone. Stored as sent.
|
|
4558
4587
|
examples:
|
|
4559
4588
|
- - name: X-RateLimit-Remaining
|
|
4560
4589
|
value: '0'
|
|
4590
|
+
x-celigo-ai-guidance:
|
|
4591
|
+
- |-
|
|
4592
|
+
A rule without a `name` fails the save with 422 `invalid_header_format`; a rule
|
|
4593
|
+
with a name and no value saves and matches on presence. The value is stored as
|
|
4594
|
+
sent and not validated at save time.
|
|
4561
4595
|
limit:
|
|
4562
4596
|
type: number
|
|
4563
4597
|
minimum: 1
|
|
4598
|
+
x-celigo-ui-override: Semantics mirror the connection form, which labels the field "Wait time between HTTP requests" and requires the value in milliseconds (fieldDefinitions/resources/connection.js 'http.rateLimit.limit').
|
|
4564
4599
|
description: |
|
|
4565
|
-
|
|
4566
|
-
|
|
4600
|
+
Minimum spacing between consecutive requests through the connection, in
|
|
4601
|
+
milliseconds, for APIs that cap request rate rather than concurrency. It only
|
|
4602
|
+
applies when the connection runs one request at a time.
|
|
4567
4603
|
examples:
|
|
4568
4604
|
- 1000
|
|
4605
|
+
x-celigo-ai-guidance:
|
|
4606
|
+
- |-
|
|
4607
|
+
Saves only when `concurrencyLevel` is 1 — and, with `autoRecoverRateLimitErrors`
|
|
4608
|
+
on, `targetConcurrencyLevel` is 1 as well; otherwise the save fails with 422
|
|
4609
|
+
`invalid_concurrency_level` ("The field "connection.http.concurrencyLevel"
|
|
4610
|
+
should be set to 1 when the field "connection.http.rateLimit.limit" is
|
|
4611
|
+
populated."). A numeric string is stored as a number.
|
|
4569
4612
|
headers:
|
|
4570
4613
|
type: array
|
|
4571
4614
|
description: |
|