@celigo/api-specs 0.2.172 → 0.2.174
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/account.yml +15 -15
- package/dist/ai-agent.yml +11 -3
- package/dist/api.yml +28 -10
- package/dist/asynchelper.yml +3 -1
- package/dist/connection.yml +18 -6
- package/dist/enduser.yml +18 -7
- package/dist/export.yml +26 -4
- package/dist/flow.yml +68 -8
- package/dist/httpconnector.yml +3 -1
- package/dist/httpconnectorresource.yml +3 -1
- package/dist/import.yml +52 -6
- package/dist/integration.yml +20 -2
- package/dist/lookupcache.yml +31 -11
- package/dist/marketplace.yml +28 -7
- package/dist/mcp-oauth-provider.yml +10 -3
- package/dist/mcp-server.yml +24 -9
- package/dist/stack.yml +1 -1
- package/dist/template.yml +66 -8
- package/dist/tool.yml +70 -14
- package/dist/tradingpartnerconnector.yml +3 -1
- package/package.json +1 -1
- package/schemas.json +1 -1
package/dist/import.yml
CHANGED
|
@@ -12617,7 +12617,9 @@ components:
|
|
|
12617
12617
|
x-celigo-refModel: scripts
|
|
12618
12618
|
description: |
|
|
12619
12619
|
Reference to the Script resource that contains the filtering logic. This must be a valid
|
|
12620
|
-
ObjectId of a Script resource
|
|
12620
|
+
ObjectId of a Script resource in this account: any other id fails the save with 422
|
|
12621
|
+
("Only a script owned by the user or a script shared by the Integration App can be used
|
|
12622
|
+
at filter.script._scriptId.").
|
|
12621
12623
|
|
|
12622
12624
|
The referenced script must contain the function specified in the `function` field
|
|
12623
12625
|
and must be written to handle filtering specifically. The script receives
|
|
@@ -12676,7 +12678,11 @@ components:
|
|
|
12676
12678
|
type: string
|
|
12677
12679
|
format: objectId
|
|
12678
12680
|
x-celigo-refModel: scripts
|
|
12679
|
-
description:
|
|
12681
|
+
description: |-
|
|
12682
|
+
Script containing the hook function named in `function`. Send this or `_stackId`, not both.
|
|
12683
|
+
Must be a script in this account: any other id fails the save with 422, naming the hook,
|
|
12684
|
+
such as "Only a script owned by the user or a script shared by the Integration App can
|
|
12685
|
+
be used at hooks.preMap._scriptId." on an import's `preMap`.
|
|
12680
12686
|
_stackId:
|
|
12681
12687
|
type: string
|
|
12682
12688
|
format: objectId
|
|
@@ -15249,7 +15255,9 @@ components:
|
|
|
15249
15255
|
Reference to a predefined script resource containing the transformation logic.
|
|
15250
15256
|
|
|
15251
15257
|
The referenced script should contain the function specified in the
|
|
15252
|
-
'function' property.
|
|
15258
|
+
'function' property. It must be a script in this account: any other id fails the save
|
|
15259
|
+
with 422 ("Only a script owned by the user or a script shared by the Integration App can
|
|
15260
|
+
be used at transform.script._scriptId.").
|
|
15253
15261
|
format: objectid
|
|
15254
15262
|
x-celigo-refModel: scripts
|
|
15255
15263
|
examples:
|
|
@@ -16872,6 +16880,15 @@ components:
|
|
|
16872
16880
|
plus whatever this step's response mapping merges back. A value later steps need
|
|
16873
16881
|
belongs in the source export's `preSavePage`, in this step's `postResponseMap` hook on
|
|
16874
16882
|
the flow, or in the later import's own `preMap`.
|
|
16883
|
+
|
|
16884
|
+
The function returns one element per record in `options.data`, in order:
|
|
16885
|
+
`{ data: <record> }` sends the record and `{ errors: [{ code, message }] }` fails it.
|
|
16886
|
+
An element without `data` — `{}`, or the record itself returned unwrapped — skips that
|
|
16887
|
+
record with no error: nothing is sent and the record is reported `ignored: true` at
|
|
16888
|
+
stage `preMapHook`. A return with more or fewer elements fails every record on the page
|
|
16889
|
+
with `invalid_extension_response` ("Extension result doesn't contain the same number
|
|
16890
|
+
of elements as the request object. Expected 2, got 1. Extension returned statusCode
|
|
16891
|
+
200"), source `pre_map_hook`.
|
|
16875
16892
|
x-celigo-ai-guidance:
|
|
16876
16893
|
- |-
|
|
16877
16894
|
Pre-map JavaScript hook — runs once per page BEFORE the
|
|
@@ -16883,7 +16900,18 @@ components:
|
|
|
16883
16900
|
renames — mappings handle those.
|
|
16884
16901
|
|
|
16885
16902
|
Runtime contract: ``options.data[]`` (the page of upstream
|
|
16886
|
-
records) → array of the same length
|
|
16903
|
+
records) → array of the same length, each element
|
|
16904
|
+
``{data: record}`` or ``{errors: [...]}``. A bare record in
|
|
16905
|
+
the returned array is skipped without an error, so
|
|
16906
|
+
``options.data.map(r => { r.total = t; return r })`` sends
|
|
16907
|
+
nothing.
|
|
16908
|
+
- |-
|
|
16909
|
+
Verified live 2026-10-22 by invoking an HTTP import with a
|
|
16910
|
+
Mapper 2.0 number mapping: one ``{data: record}`` per record
|
|
16911
|
+
sent both records; the bare records sent nothing and both
|
|
16912
|
+
came back ``ignored: true``, ``stage: preMapHook``, with no
|
|
16913
|
+
error; one element for two records failed both with 422
|
|
16914
|
+
``invalid_extension_response``.
|
|
16887
16915
|
allOf:
|
|
16888
16916
|
- $ref: '#/components/schemas/Hook'
|
|
16889
16917
|
postMap:
|
|
@@ -17745,6 +17773,18 @@ components:
|
|
|
17745
17773
|
example:
|
|
17746
17774
|
5f7c579b6411271af4e7cefa: 64a1234567890abcdef12345
|
|
17747
17775
|
5f7c579b6411271af4e7cefb: 64a1234567890abcdef12346
|
|
17776
|
+
_stackId:
|
|
17777
|
+
type: string
|
|
17778
|
+
format: objectId
|
|
17779
|
+
x-celigo-refModel: stacks
|
|
17780
|
+
description: |-
|
|
17781
|
+
Stack that every stack reference in the cloned resources (hooks and wrapper
|
|
17782
|
+
connections running on a stack) points at. Required when the clone preview reports
|
|
17783
|
+
`stackRequired: true`: without it the clone fails with 400 `stack_not_found`. The
|
|
17784
|
+
stack must belong to the target environment or be shared with it (404
|
|
17785
|
+
`stack_not_found` for an unknown id, 400 `invalid_stack` otherwise).
|
|
17786
|
+
examples:
|
|
17787
|
+
- 5f8d43a1b9e5a80011a35f2c
|
|
17748
17788
|
additionalProperties: true
|
|
17749
17789
|
CloneResponse:
|
|
17750
17790
|
description: Response body for a clone operation. Some clone endpoints return the cloned resource, while others may return a list of related created resources.
|
|
@@ -17795,12 +17835,18 @@ components:
|
|
|
17795
17835
|
additionalProperties: true
|
|
17796
17836
|
stackRequired:
|
|
17797
17837
|
type: boolean
|
|
17798
|
-
description:
|
|
17838
|
+
description: |-
|
|
17839
|
+
`true` when the resource or one of its dependencies references a stack (a hook or
|
|
17840
|
+
wrapper connection that runs on a stack). Send `_stackId` in the clone request: without
|
|
17841
|
+
it the clone fails with 400 `stack_not_found`.
|
|
17799
17842
|
_stackId:
|
|
17800
17843
|
type:
|
|
17801
17844
|
- string
|
|
17802
17845
|
- 'null'
|
|
17803
|
-
description:
|
|
17846
|
+
description: |-
|
|
17847
|
+
The first stack the resource or a dependency references, or null. Pass it, or another
|
|
17848
|
+
stack in the target environment, as `_stackId` in the clone request; the clone points
|
|
17849
|
+
every stack reference at that one stack.
|
|
17804
17850
|
examples:
|
|
17805
17851
|
- 5f8d43a1b9e5a80011a35f2c
|
|
17806
17852
|
ImportRecordResult:
|
package/dist/integration.yml
CHANGED
|
@@ -4609,6 +4609,18 @@ components:
|
|
|
4609
4609
|
example:
|
|
4610
4610
|
5f7c579b6411271af4e7cefa: 64a1234567890abcdef12345
|
|
4611
4611
|
5f7c579b6411271af4e7cefb: 64a1234567890abcdef12346
|
|
4612
|
+
_stackId:
|
|
4613
|
+
type: string
|
|
4614
|
+
format: objectId
|
|
4615
|
+
x-celigo-refModel: stacks
|
|
4616
|
+
description: |-
|
|
4617
|
+
Stack that every stack reference in the cloned resources (hooks and wrapper
|
|
4618
|
+
connections running on a stack) points at. Required when the clone preview reports
|
|
4619
|
+
`stackRequired: true`: without it the clone fails with 400 `stack_not_found`. The
|
|
4620
|
+
stack must belong to the target environment or be shared with it (404
|
|
4621
|
+
`stack_not_found` for an unknown id, 400 `invalid_stack` otherwise).
|
|
4622
|
+
examples:
|
|
4623
|
+
- 5f8d43a1b9e5a80011a35f2c
|
|
4612
4624
|
additionalProperties: true
|
|
4613
4625
|
CloneResponse:
|
|
4614
4626
|
description: Response body for a clone operation. Some clone endpoints return the cloned resource, while others may return a list of related created resources.
|
|
@@ -4669,12 +4681,18 @@ components:
|
|
|
4669
4681
|
additionalProperties: true
|
|
4670
4682
|
stackRequired:
|
|
4671
4683
|
type: boolean
|
|
4672
|
-
description:
|
|
4684
|
+
description: |-
|
|
4685
|
+
`true` when the resource or one of its dependencies references a stack (a hook or
|
|
4686
|
+
wrapper connection that runs on a stack). Send `_stackId` in the clone request: without
|
|
4687
|
+
it the clone fails with 400 `stack_not_found`.
|
|
4673
4688
|
_stackId:
|
|
4674
4689
|
type:
|
|
4675
4690
|
- string
|
|
4676
4691
|
- 'null'
|
|
4677
|
-
description:
|
|
4692
|
+
description: |-
|
|
4693
|
+
The first stack the resource or a dependency references, or null. Pass it, or another
|
|
4694
|
+
stack in the target environment, as `_stackId` in the clone request; the clone points
|
|
4695
|
+
every stack reference at that one stack.
|
|
4678
4696
|
examples:
|
|
4679
4697
|
- 5f8d43a1b9e5a80011a35f2c
|
|
4680
4698
|
Revision:
|
package/dist/lookupcache.yml
CHANGED
|
@@ -452,12 +452,14 @@ paths:
|
|
|
452
452
|
strings, or objects — arrays at the top level are rejected (wrap them in an
|
|
453
453
|
object). One invalid entry fails the entire batch and nothing in it is written:
|
|
454
454
|
a bad value returns `400 invalid_value`, an empty, missing, or over-length
|
|
455
|
-
key
|
|
456
|
-
|
|
455
|
+
key, or one holding a tab, newline, carriage return or NUL, returns
|
|
456
|
+
`400 cache_dynamodb_invalid_key`, and a key that appears twice in the batch
|
|
457
|
+
returns 400 "Duplicate keys found in the request".
|
|
457
458
|
|
|
458
|
-
|
|
459
|
-
Callers uploading more than that should
|
|
460
|
-
auto-batches at 1000 entries / 5 MB and concatenates
|
|
459
|
+
One request takes at most 1000 entries, each entry at most 64 KB, and at most 5 MB of
|
|
460
|
+
JSON in all (413, "request entity too large!"). Callers uploading more than that should
|
|
461
|
+
split their payload; the Celigo CLI auto-batches at 1000 entries / 5 MB and concatenates
|
|
462
|
+
the per-key results.
|
|
461
463
|
Each cache is capped at 50 MB and the per-environment aggregate is 1 GB.
|
|
462
464
|
parameters:
|
|
463
465
|
- name: _id
|
|
@@ -511,6 +513,17 @@ paths:
|
|
|
511
513
|
$ref: '#/components/responses/401-unauthorized'
|
|
512
514
|
'404':
|
|
513
515
|
$ref: '#/components/responses/404-not-found'
|
|
516
|
+
'413':
|
|
517
|
+
description: The request body is over 5 MB of JSON. Split the batch.
|
|
518
|
+
content:
|
|
519
|
+
application/json:
|
|
520
|
+
schema:
|
|
521
|
+
$ref: '#/components/schemas/Error'
|
|
522
|
+
examples:
|
|
523
|
+
too_large:
|
|
524
|
+
value:
|
|
525
|
+
errors:
|
|
526
|
+
- message: request entity too large!
|
|
514
527
|
delete:
|
|
515
528
|
x-internal: false
|
|
516
529
|
operationId: deleteLookupCacheDataKeys
|
|
@@ -1009,12 +1022,18 @@ components:
|
|
|
1009
1022
|
additionalProperties: true
|
|
1010
1023
|
stackRequired:
|
|
1011
1024
|
type: boolean
|
|
1012
|
-
description:
|
|
1025
|
+
description: |-
|
|
1026
|
+
`true` when the resource or one of its dependencies references a stack (a hook or
|
|
1027
|
+
wrapper connection that runs on a stack). Send `_stackId` in the clone request: without
|
|
1028
|
+
it the clone fails with 400 `stack_not_found`.
|
|
1013
1029
|
_stackId:
|
|
1014
1030
|
type:
|
|
1015
1031
|
- string
|
|
1016
1032
|
- 'null'
|
|
1017
|
-
description:
|
|
1033
|
+
description: |-
|
|
1034
|
+
The first stack the resource or a dependency references, or null. Pass it, or another
|
|
1035
|
+
stack in the target environment, as `_stackId` in the clone request; the clone points
|
|
1036
|
+
every stack reference at that one stack.
|
|
1018
1037
|
examples:
|
|
1019
1038
|
- 5f8d43a1b9e5a80011a35f2c
|
|
1020
1039
|
LookupCacheDataEntry:
|
|
@@ -1034,7 +1053,8 @@ components:
|
|
|
1034
1053
|
description: |-
|
|
1035
1054
|
Lookup key. Treated as an opaque string by the cache — case-sensitive, no
|
|
1036
1055
|
normalization. The same cache can hold multiple entries that differ only in
|
|
1037
|
-
case (e.g. `CA` and `ca`).
|
|
1056
|
+
case (e.g. `CA` and `ca`). An upsert also refuses a key that holds a tab, a newline,
|
|
1057
|
+
a carriage return or a NUL character, with the same `cache_dynamodb_invalid_key`.
|
|
1038
1058
|
examples:
|
|
1039
1059
|
- CA
|
|
1040
1060
|
- ext-customer-12345
|
|
@@ -1071,9 +1091,9 @@ components:
|
|
|
1071
1091
|
Request body for upserting key-value entries into a lookup cache. `data` must be
|
|
1072
1092
|
a non-empty array. Keys already present are overwritten; new keys are created.
|
|
1073
1093
|
|
|
1074
|
-
|
|
1075
|
-
more than that should split into multiple
|
|
1076
|
-
at 1000 entries / 5 MB).
|
|
1094
|
+
One request takes at most 1000 entries, each entry at most 64 KB, and at most 5 MB of
|
|
1095
|
+
JSON in all (413) — callers inserting more than that should split into multiple
|
|
1096
|
+
requests (the Celigo CLI auto-batches at 1000 entries / 5 MB).
|
|
1077
1097
|
properties:
|
|
1078
1098
|
data:
|
|
1079
1099
|
type: array
|
package/dist/marketplace.yml
CHANGED
|
@@ -154,9 +154,17 @@ paths:
|
|
|
154
154
|
`type` tells you which install route to use afterwards:
|
|
155
155
|
`POST /v1/integrations/template/{_id}` for `integration`,
|
|
156
156
|
`POST /v1/mcpservers/template/{_templateId}` for `mcpserver`.
|
|
157
|
-
`stackRequired` is `true` when the template
|
|
158
|
-
|
|
159
|
-
|
|
157
|
+
`stackRequired` is `true` when the template has hooks or wrapper
|
|
158
|
+
connections that run on a stack: the marketplace installer prompts for
|
|
159
|
+
one; `POST /v1/integrations/template/{_id}`, for a template it accepts
|
|
160
|
+
(no `template_zip` install step), needs it as `_stackId`; and an
|
|
161
|
+
MCP-server template's install adds a stack step to the integration it
|
|
162
|
+
creates.
|
|
163
|
+
|
|
164
|
+
Previewing an MCP-server template needs the same install permission as
|
|
165
|
+
installing it (403 for a monitor or integration-level user whose access
|
|
166
|
+
doesn't allow creating integrations); an integration template's preview
|
|
167
|
+
needs none.
|
|
160
168
|
|
|
161
169
|
The ID must belong to a Template, not a Connector (Integration App).
|
|
162
170
|
Connector IDs from `/v1/published` return 404 here -- pull template
|
|
@@ -234,6 +242,14 @@ paths:
|
|
|
234
242
|
concurrencyLevel: 1
|
|
235
243
|
'401':
|
|
236
244
|
$ref: '#/components/responses/401-unauthorized'
|
|
245
|
+
'403':
|
|
246
|
+
description: |-
|
|
247
|
+
An MCP-server template previewed by a user who may not install templates (a monitor
|
|
248
|
+
or integration-level user whose access doesn't allow creating integrations).
|
|
249
|
+
content:
|
|
250
|
+
application/json:
|
|
251
|
+
schema:
|
|
252
|
+
$ref: '#/components/schemas/Error'
|
|
237
253
|
'404':
|
|
238
254
|
description: |-
|
|
239
255
|
No template matched the id. Most commonly: the id belongs to a
|
|
@@ -887,10 +903,15 @@ components:
|
|
|
887
903
|
stackRequired:
|
|
888
904
|
type: boolean
|
|
889
905
|
description: |-
|
|
890
|
-
`true` when the template
|
|
891
|
-
that
|
|
892
|
-
|
|
893
|
-
|
|
906
|
+
`true` when the template has an export or import hook, or a wrapper
|
|
907
|
+
connection, that runs on a stack (a function with no script). The
|
|
908
|
+
marketplace installer asks for the stack. Through the API, an
|
|
909
|
+
integration template that `POST /v1/integrations/template/{_id}`
|
|
910
|
+
accepts (no `template_zip` install step) needs `_stackId` in the body,
|
|
911
|
+
or the install fails with 400 `stack_not_found`; so does a zip
|
|
912
|
+
installed with `POST /v1/integrations/template`. An MCP-server
|
|
913
|
+
template's install takes no body: the integration it creates for a
|
|
914
|
+
tool-bearing template gets a stack install step instead.
|
|
894
915
|
responses:
|
|
895
916
|
401-unauthorized:
|
|
896
917
|
description: |-
|
|
@@ -329,15 +329,22 @@ components:
|
|
|
329
329
|
- https://mcp.example.com
|
|
330
330
|
scopes:
|
|
331
331
|
type: array
|
|
332
|
-
description:
|
|
332
|
+
description: |-
|
|
333
|
+
The MCP operations OAuth callers may use on every server that references this
|
|
334
|
+
provider, and the scopes those servers advertise as `scopes_supported`. Calling a
|
|
335
|
+
tool (`tools/call`) needs `mcp:write`; listing tools, prompts and resources, and
|
|
336
|
+
reading prompts and resources, accept either scope. Listing only `mcp:read` refuses
|
|
337
|
+
every tool call with 403 `insufficient_scope`, whatever the token carries; an empty
|
|
338
|
+
list allows both. Each request also needs its scope in the caller's token, so a
|
|
339
|
+
token issued with only `mcp:read` can list and read but can't call a tool.
|
|
333
340
|
items:
|
|
334
341
|
type: string
|
|
335
342
|
enum:
|
|
336
343
|
- mcp:read
|
|
337
344
|
- mcp:write
|
|
338
345
|
x-enumDescriptions:
|
|
339
|
-
mcp:read:
|
|
340
|
-
mcp:write:
|
|
346
|
+
mcp:read: Lists tools, prompts and resources and reads prompts and resources; can't call a tool.
|
|
347
|
+
mcp:write: Calls tools (`tools/call`); also lists and reads.
|
|
341
348
|
examples:
|
|
342
349
|
- - mcp:read
|
|
343
350
|
- mcp:write
|
package/dist/mcp-server.yml
CHANGED
|
@@ -3082,7 +3082,15 @@ components:
|
|
|
3082
3082
|
scopes:
|
|
3083
3083
|
type: array
|
|
3084
3084
|
description: |-
|
|
3085
|
-
|
|
3085
|
+
For an external provider or inline OAuth: the MCP operations OAuth callers may use on
|
|
3086
|
+
this server, and the scopes its OAuth metadata advertises as `scopes_supported`.
|
|
3087
|
+
Calling a tool (`tools/call`) needs `mcp:write`; listing tools, prompts and resources,
|
|
3088
|
+
and reading prompts and resources, accept either scope. A server that lists only
|
|
3089
|
+
`mcp:read` refuses every tool call with 403 `insufficient_scope`, whatever the token
|
|
3090
|
+
carries; an empty list allows both. Under Celigo OAuth (`useCeligoOauth`) this list
|
|
3091
|
+
isn't used: the server allows both scopes. Either way each request also needs its
|
|
3092
|
+
scope in the caller's token, so a token issued with only `mcp:read` can list and read
|
|
3093
|
+
but can't call a tool. API-token callers aren't scope-checked.
|
|
3086
3094
|
|
|
3087
3095
|
Rejected values return `enum` / `invalid_field_value` on
|
|
3088
3096
|
`oauth.scopes.<index>`.
|
|
@@ -3092,8 +3100,8 @@ components:
|
|
|
3092
3100
|
- mcp:read
|
|
3093
3101
|
- mcp:write
|
|
3094
3102
|
x-enumDescriptions:
|
|
3095
|
-
mcp:read:
|
|
3096
|
-
mcp:write:
|
|
3103
|
+
mcp:read: Lists tools, prompts and resources and reads prompts and resources; can't call a tool.
|
|
3104
|
+
mcp:write: Calls tools (`tools/call`); also lists and reads.
|
|
3097
3105
|
examples:
|
|
3098
3106
|
- - mcp:read
|
|
3099
3107
|
- mcp:write
|
|
@@ -4190,11 +4198,13 @@ components:
|
|
|
4190
4198
|
after which the flag switches itself off), and concurrency climbs back toward
|
|
4191
4199
|
`targetConcurrencyLevel`. While true, `targetConcurrencyLevel` is the throughput lever: a
|
|
4192
4200
|
`concurrencyLevel` sent in a PUT is ignored, and one sent in a PATCH is stored but the
|
|
4193
|
-
recovery machinery moves it back toward the target.
|
|
4201
|
+
recovery machinery moves it back toward the target. Recovery never runs on `ftp`
|
|
4202
|
+
connections: FTP errors aren't treated as rate limits.
|
|
4194
4203
|
x-celigo-ai-guidance:
|
|
4195
4204
|
- To change throughput while this is true, write `targetConcurrencyLevel`; a `concurrencyLevel` sent in a PUT returns 200 and changes nothing.
|
|
4196
4205
|
- 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` written while this is false is unset by the save.
|
|
4197
4206
|
- 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.
|
|
4207
|
+
- On an `ftp` connection recovery never runs, and transfer threads are `ftp.multiThreadCount`; while this is true a create sets `ftp.concurrencyLevel` to `ftp.targetConcurrencyLevel`, or to 1 without one.
|
|
4198
4208
|
enableMicroBatchForOneToMany:
|
|
4199
4209
|
type: boolean
|
|
4200
4210
|
default: true
|
|
@@ -4812,6 +4822,10 @@ components:
|
|
|
4812
4822
|
FTP servers often have low connection limits — keep this value conservative.
|
|
4813
4823
|
Send no more than the account's licensed maximum, the license's `concurrency` (25 standard,
|
|
4814
4824
|
50 with an Environments license).
|
|
4825
|
+
While `autoRecoverRateLimitErrors` is true, which a create gets unless it sends `false`, a create
|
|
4826
|
+
ignores the value sent here and sets this field to `targetConcurrencyLevel`, or to 1 when no
|
|
4827
|
+
target is sent. To start higher, send `targetConcurrencyLevel` too, or create with
|
|
4828
|
+
`autoRecoverRateLimitErrors: false`.
|
|
4815
4829
|
Unlike the rest of the `ftp` object, a `PUT` that omits this field keeps the stored value instead of clearing it.
|
|
4816
4830
|
minimum: 1
|
|
4817
4831
|
maximum: 50
|
|
@@ -4821,8 +4835,9 @@ components:
|
|
|
4821
4835
|
targetConcurrencyLevel:
|
|
4822
4836
|
type: integer
|
|
4823
4837
|
description: |
|
|
4824
|
-
|
|
4825
|
-
|
|
4838
|
+
While `autoRecoverRateLimitErrors` is true, a create sets `concurrencyLevel` to this value, and a
|
|
4839
|
+
create that omits it gets 1 for both. Auto-recovery never runs on FTP connections (FTP errors
|
|
4840
|
+
aren't treated as rate limits), so nothing climbs back to it.
|
|
4826
4841
|
Kept on a `PUT` that omits it, like `concurrencyLevel`; unset by the save while
|
|
4827
4842
|
`autoRecoverRateLimitErrors` is false.
|
|
4828
4843
|
minimum: 1
|
|
@@ -4853,9 +4868,9 @@ components:
|
|
|
4853
4868
|
type: integer
|
|
4854
4869
|
readOnly: true
|
|
4855
4870
|
description: |-
|
|
4856
|
-
Server-maintained mirror of `multiThreadCount
|
|
4857
|
-
|
|
4858
|
-
recomputed on save.
|
|
4871
|
+
Server-maintained mirror of `multiThreadCount`, present while
|
|
4872
|
+
`autoRecoverRateLimitErrors` is true and `targetConcurrencyLevel` is
|
|
4873
|
+
set; recomputed on save.
|
|
4859
4874
|
if:
|
|
4860
4875
|
properties:
|
|
4861
4876
|
type:
|
package/dist/stack.yml
CHANGED
|
@@ -106,7 +106,7 @@ paths:
|
|
|
106
106
|
after creation via `GET /v1/stacks/{_id}/systemToken`.
|
|
107
107
|
x-celigo-ai-guidance:
|
|
108
108
|
- |-
|
|
109
|
-
- For `type=server`, provide `server.hostURI
|
|
109
|
+
- For `type=server`, provide `server.hostURI`. Don't send `server.ipRanges`: it's deprecated and nothing enforces it.
|
|
110
110
|
- For `type=lambda`, provide AWS credentials and function details under `lambda`.
|
|
111
111
|
operationId: createStack
|
|
112
112
|
tags:
|
package/dist/template.yml
CHANGED
|
@@ -22,8 +22,13 @@ tags:
|
|
|
22
22
|
|
|
23
23
|
The template lifecycle is: create → upload zip (via `GET /v1/s3SignedURL`) → publish.
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
receive 403
|
|
25
|
+
Creating, updating, uploading and publishing templates requires a
|
|
26
|
+
**Partner account** — non-partner callers receive 403
|
|
27
|
+
`access_restricted`. Installing a template (`/v1/integrations/template`
|
|
28
|
+
routes) needs install permission instead: the account owner,
|
|
29
|
+
administrators and manage users have it, and monitor or
|
|
30
|
+
integration-level users only when their access allows creating
|
|
31
|
+
integrations.
|
|
27
32
|
|
|
28
33
|
## Template schema
|
|
29
34
|
|
|
@@ -377,6 +382,18 @@ paths:
|
|
|
377
382
|
example:
|
|
378
383
|
61f92026dd053843b5d72350: 64a1234567890abcdef12345
|
|
379
384
|
61f92026dd053843b5d72351: 64a1234567890abcdef12346
|
|
385
|
+
_stackId:
|
|
386
|
+
type: string
|
|
387
|
+
format: objectId
|
|
388
|
+
x-celigo-refModel: stacks
|
|
389
|
+
description: |-
|
|
390
|
+
Stack for the template's hooks and wrapper connections that run on a stack.
|
|
391
|
+
Required when the template preview reports `stackRequired: true`: without
|
|
392
|
+
it the install fails with 400 `stack_not_found`. The stack must belong to
|
|
393
|
+
the environment or be shared with it (404 `stack_not_found` for an unknown
|
|
394
|
+
id, 400 `invalid_stack` otherwise).
|
|
395
|
+
examples:
|
|
396
|
+
- 5f8d43a1b9e5a80011a35f2c
|
|
380
397
|
required:
|
|
381
398
|
- connectionMap
|
|
382
399
|
examples:
|
|
@@ -419,9 +436,12 @@ paths:
|
|
|
419
436
|
_id: 6405b9d83496e05ff253d594
|
|
420
437
|
'400':
|
|
421
438
|
description: |-
|
|
422
|
-
Missing or empty `connectionMap
|
|
439
|
+
Missing or empty `connectionMap`; the template is an MCP server
|
|
423
440
|
template that must be installed through
|
|
424
|
-
`POST /v1/mcpservers/template/{_templateId}
|
|
441
|
+
`POST /v1/mcpservers/template/{_templateId}`; the template needs a
|
|
442
|
+
stack and the body has no `_stackId` (`stack_not_found`); or the
|
|
443
|
+
`_stackId` names a stack that neither belongs to this environment nor
|
|
444
|
+
is shared with it (`invalid_stack`).
|
|
425
445
|
content:
|
|
426
446
|
application/json:
|
|
427
447
|
schema:
|
|
@@ -438,12 +458,18 @@ paths:
|
|
|
438
458
|
errors:
|
|
439
459
|
- code: invalid_template
|
|
440
460
|
message: MCP server templates cannot be installed through the Integration template path.
|
|
461
|
+
missingStack:
|
|
462
|
+
summary: The preview reported stackRequired and no _stackId was sent
|
|
463
|
+
value:
|
|
464
|
+
errors:
|
|
465
|
+
- code: stack_not_found
|
|
466
|
+
message: The integration template has stack reference but _stackId not found in the request body.
|
|
441
467
|
'401':
|
|
442
468
|
$ref: '#/components/responses/401-unauthorized'
|
|
443
469
|
'403':
|
|
444
|
-
$ref: '#/components/responses/403-
|
|
470
|
+
$ref: '#/components/responses/403-cannot-install'
|
|
445
471
|
'404':
|
|
446
|
-
description: Template not found.
|
|
472
|
+
description: Template not found, or no stack has the `_stackId` sent (`stack_not_found`).
|
|
447
473
|
content:
|
|
448
474
|
application/json:
|
|
449
475
|
schema:
|
|
@@ -539,7 +565,7 @@ paths:
|
|
|
539
565
|
'401':
|
|
540
566
|
$ref: '#/components/responses/401-unauthorized'
|
|
541
567
|
'403':
|
|
542
|
-
$ref: '#/components/responses/403-
|
|
568
|
+
$ref: '#/components/responses/403-cannot-install'
|
|
543
569
|
'404':
|
|
544
570
|
description: The `runKey` does not match any uploaded zip.
|
|
545
571
|
content:
|
|
@@ -583,6 +609,16 @@ paths:
|
|
|
583
609
|
the template zip file.
|
|
584
610
|
examples:
|
|
585
611
|
- abc123def456
|
|
612
|
+
_stackId:
|
|
613
|
+
type: string
|
|
614
|
+
format: objectId
|
|
615
|
+
x-celigo-refModel: stacks
|
|
616
|
+
description: |-
|
|
617
|
+
Stack for the template's hooks and wrapper connections that run on a stack.
|
|
618
|
+
Required when the preview reports `stackRequired: true` (400
|
|
619
|
+
`stack_not_found` without it).
|
|
620
|
+
examples:
|
|
621
|
+
- 5f8d43a1b9e5a80011a35f2c
|
|
586
622
|
required:
|
|
587
623
|
- runKey
|
|
588
624
|
examples:
|
|
@@ -618,7 +654,7 @@ paths:
|
|
|
618
654
|
'401':
|
|
619
655
|
$ref: '#/components/responses/401-unauthorized'
|
|
620
656
|
'403':
|
|
621
|
-
$ref: '#/components/responses/403-
|
|
657
|
+
$ref: '#/components/responses/403-cannot-install'
|
|
622
658
|
'404':
|
|
623
659
|
description: The `runKey` does not match any uploaded zip.
|
|
624
660
|
content:
|
|
@@ -978,5 +1014,27 @@ components:
|
|
|
978
1014
|
errors:
|
|
979
1015
|
- code: invalid_request
|
|
980
1016
|
message: The request body failed validation.
|
|
1017
|
+
403-cannot-install:
|
|
1018
|
+
description: |-
|
|
1019
|
+
The caller may not install templates. The account owner, administrators and manage users
|
|
1020
|
+
can; a monitor user or a user with access to specific integrations only can install a
|
|
1021
|
+
template only when their access allows creating integrations
|
|
1022
|
+
(`allowIntegrationWorkspaceCreation`).
|
|
1023
|
+
content:
|
|
1024
|
+
application/json:
|
|
1025
|
+
schema:
|
|
1026
|
+
$ref: '#/components/schemas/Error'
|
|
1027
|
+
examples:
|
|
1028
|
+
cannotInstall:
|
|
1029
|
+
value:
|
|
1030
|
+
errors:
|
|
1031
|
+
- code: access_restricted
|
|
1032
|
+
message: Users with monitor or tile level manage permissions cannot install templates. Ask an account owner or administrator to increase your permissions, or contact another user with at least account level manage permissions to install the template.
|
|
1033
|
+
otherRole:
|
|
1034
|
+
summary: Any other role without install permission
|
|
1035
|
+
value:
|
|
1036
|
+
errors:
|
|
1037
|
+
- code: access_restricted
|
|
1038
|
+
message: The role which you are associated with doesn't have the required permissions to perform the action.
|
|
981
1039
|
x-enable-proxy: true
|
|
982
1040
|
x-internal: false
|