@celigo/api-specs 0.2.200 → 0.2.202
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/alert.yml +36 -7
- package/dist/api.yml +47 -5
- package/dist/audit.yml +26 -25
- package/dist/connection.yml +16 -0
- package/dist/enduser.yml +16 -0
- package/dist/filedefinition.yml +26 -17
- package/dist/filestorage.yml +73 -19
- package/dist/flow.yml +10 -4
- package/dist/integration.yml +50 -18
- package/dist/marketplace.yml +10 -0
- package/dist/mcp-server.yml +458 -0
- package/dist/template.yml +122 -11
- package/dist/tool.yml +22 -1
- package/package.json +1 -1
- package/schemas.json +3 -1
package/dist/mcp-server.yml
CHANGED
|
@@ -780,6 +780,390 @@ paths:
|
|
|
780
780
|
$ref: '#/components/responses/401-unauthorized'
|
|
781
781
|
'404':
|
|
782
782
|
$ref: '#/components/responses/404-not-found'
|
|
783
|
+
/v1/mcpservers/template/preview:
|
|
784
|
+
get:
|
|
785
|
+
x-internal: false
|
|
786
|
+
operationId: previewMcpServerTemplateUpload
|
|
787
|
+
tags:
|
|
788
|
+
- MCP Servers
|
|
789
|
+
summary: Preview an uploaded MCP server template
|
|
790
|
+
description: |-
|
|
791
|
+
Reads an MCP-server template ZIP you uploaded and returns the resource
|
|
792
|
+
docs installing it would create. Nothing is created. Get an upload URL
|
|
793
|
+
from `GET /v1/s3SignedURL?file_type=application/zip`, PUT the ZIP to its
|
|
794
|
+
`signedURL` with the header `x-amz-server-side-encryption: AES256`, then
|
|
795
|
+
pass that call's `runKey` here and to `POST /v1/mcpservers/template`.
|
|
796
|
+
|
|
797
|
+
The install runs the same ZIP checks with the same errors. Integration
|
|
798
|
+
template ZIPs use `GET /v1/integrations/template/preview`, which rejects
|
|
799
|
+
an MCP-server ZIP with a 400 `invalid_template` error.
|
|
800
|
+
parameters:
|
|
801
|
+
- name: runKey
|
|
802
|
+
in: query
|
|
803
|
+
required: true
|
|
804
|
+
description: |-
|
|
805
|
+
The `runKey` returned by `GET /v1/s3SignedURL` for the uploaded
|
|
806
|
+
template ZIP.
|
|
807
|
+
schema:
|
|
808
|
+
type: string
|
|
809
|
+
examples:
|
|
810
|
+
- 78f30205bdda4c4bb2a75eb121172250
|
|
811
|
+
responses:
|
|
812
|
+
'200':
|
|
813
|
+
description: Preview of the resources the install would create.
|
|
814
|
+
content:
|
|
815
|
+
application/json:
|
|
816
|
+
schema:
|
|
817
|
+
$ref: '#/components/schemas/McpServerTemplatePreview'
|
|
818
|
+
examples:
|
|
819
|
+
promptOnly:
|
|
820
|
+
summary: Template with one inline prompt
|
|
821
|
+
value:
|
|
822
|
+
type: mcpserver
|
|
823
|
+
objects:
|
|
824
|
+
- model: McpServer
|
|
825
|
+
doc:
|
|
826
|
+
name: Support assistant
|
|
827
|
+
description: ''
|
|
828
|
+
relativeURI: /support-assistant
|
|
829
|
+
disabled: true
|
|
830
|
+
tools: []
|
|
831
|
+
prompts:
|
|
832
|
+
- name: summarize-ticket
|
|
833
|
+
description: Summarize a support ticket.
|
|
834
|
+
disabled: false
|
|
835
|
+
arguments:
|
|
836
|
+
- name: ticket
|
|
837
|
+
description: Ticket text.
|
|
838
|
+
required: true
|
|
839
|
+
messagesTemplate:
|
|
840
|
+
- role: user
|
|
841
|
+
contentType: text
|
|
842
|
+
template: Summarize {{ticket}}.
|
|
843
|
+
- model: Prompt
|
|
844
|
+
doc:
|
|
845
|
+
name: summarize-ticket
|
|
846
|
+
description: Summarize a support ticket.
|
|
847
|
+
disabled: false
|
|
848
|
+
arguments:
|
|
849
|
+
- name: ticket
|
|
850
|
+
description: Ticket text.
|
|
851
|
+
required: true
|
|
852
|
+
messagesTemplate:
|
|
853
|
+
- role: user
|
|
854
|
+
contentType: text
|
|
855
|
+
template: Summarize {{ticket}}.
|
|
856
|
+
stackRequired: false
|
|
857
|
+
connectionAndFile:
|
|
858
|
+
summary: Template with a connection and a Celigo Storage file
|
|
859
|
+
value:
|
|
860
|
+
type: mcpserver
|
|
861
|
+
objects:
|
|
862
|
+
- model: McpServer
|
|
863
|
+
doc:
|
|
864
|
+
name: Support assistant
|
|
865
|
+
description: ''
|
|
866
|
+
relativeURI: /support-assistant
|
|
867
|
+
disabled: true
|
|
868
|
+
tools: []
|
|
869
|
+
connections:
|
|
870
|
+
- _connectionId: 6ab130000000000000000c01
|
|
871
|
+
requiresEndUserCredentials: false
|
|
872
|
+
resources:
|
|
873
|
+
- fileKey: 6ab130000000000000000f01
|
|
874
|
+
title: Support handbook
|
|
875
|
+
disabled: false
|
|
876
|
+
name: handbook.txt
|
|
877
|
+
mimeType: text/plain
|
|
878
|
+
- model: Connection
|
|
879
|
+
doc:
|
|
880
|
+
_id: 6ab130000000000000000c01
|
|
881
|
+
type: http
|
|
882
|
+
name: Support Desk API
|
|
883
|
+
http:
|
|
884
|
+
mediaType: json
|
|
885
|
+
baseURI: https://api.example.com
|
|
886
|
+
auth:
|
|
887
|
+
type: custom
|
|
888
|
+
- model: McpResource
|
|
889
|
+
doc:
|
|
890
|
+
fileKey: 6ab130000000000000000f01
|
|
891
|
+
title: Support handbook
|
|
892
|
+
disabled: false
|
|
893
|
+
name: handbook.txt
|
|
894
|
+
mimeType: text/plain
|
|
895
|
+
size: 2048
|
|
896
|
+
stackRequired: false
|
|
897
|
+
'400':
|
|
898
|
+
description: |-
|
|
899
|
+
The request or the ZIP is malformed: `runKey` is missing
|
|
900
|
+
(`missing_required_field`); the file is not a readable ZIP, including
|
|
901
|
+
one with two entries of the same name (`MCP_TEMPLATE_INVALID_ZIP`); or
|
|
902
|
+
an entry is invalid (`MCP_TEMPLATE_INVALID_ENTRY` — for example an
|
|
903
|
+
entry path containing `..`, a resource file the manifest declares but
|
|
904
|
+
the ZIP lacks, or a null tool row).
|
|
905
|
+
content:
|
|
906
|
+
application/json:
|
|
907
|
+
schema:
|
|
908
|
+
$ref: '#/components/schemas/Error'
|
|
909
|
+
examples:
|
|
910
|
+
missingRunKey:
|
|
911
|
+
value:
|
|
912
|
+
errors:
|
|
913
|
+
- code: missing_required_field
|
|
914
|
+
message: runKey is required.
|
|
915
|
+
invalidZip:
|
|
916
|
+
value:
|
|
917
|
+
errors:
|
|
918
|
+
- code: MCP_TEMPLATE_INVALID_ZIP
|
|
919
|
+
message: The MCP template zip is damaged or is not a zip file.
|
|
920
|
+
invalidEntry:
|
|
921
|
+
value:
|
|
922
|
+
errors:
|
|
923
|
+
- code: MCP_TEMPLATE_INVALID_ENTRY
|
|
924
|
+
message: The MCP template contains an invalid entry.
|
|
925
|
+
'401':
|
|
926
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
927
|
+
'404':
|
|
928
|
+
description: The `runKey` does not match an uploaded file.
|
|
929
|
+
content:
|
|
930
|
+
application/json:
|
|
931
|
+
schema:
|
|
932
|
+
$ref: '#/components/schemas/Error'
|
|
933
|
+
examples:
|
|
934
|
+
invalidKey:
|
|
935
|
+
value:
|
|
936
|
+
errors:
|
|
937
|
+
- code: invalid_key
|
|
938
|
+
message: We couldn't find any integration template zip file.
|
|
939
|
+
'413':
|
|
940
|
+
description: |-
|
|
941
|
+
The ZIP exceeds an MCP template limit: more than 32 MiB uncompressed in
|
|
942
|
+
total, more than 500 entries, or a JSON entry over 1 MiB.
|
|
943
|
+
content:
|
|
944
|
+
application/json:
|
|
945
|
+
schema:
|
|
946
|
+
$ref: '#/components/schemas/Error'
|
|
947
|
+
examples:
|
|
948
|
+
tooLarge:
|
|
949
|
+
value:
|
|
950
|
+
errors:
|
|
951
|
+
- code: MCP_TEMPLATE_ZIP_TOO_LARGE
|
|
952
|
+
message: The MCP template zip exceeds the allowed size.
|
|
953
|
+
'422':
|
|
954
|
+
description: |-
|
|
955
|
+
The ZIP opened but is not an installable MCP-server template:
|
|
956
|
+
`mcpserver.json` is missing (`invalid_ref`, or `invalid_template` when
|
|
957
|
+
`integration.json` is missing too), a tool the server attaches is not
|
|
958
|
+
packed (`invalid_template`), an attached API or connection document is
|
|
959
|
+
not packed (`MCP_TEMPLATE_DEPENDENCY_MISSING`), or a resource file is
|
|
960
|
+
over 3 MiB or the manifest declares more than 100 of them
|
|
961
|
+
(`MCP_TEMPLATE_RESOURCE_TOO_LARGE`).
|
|
962
|
+
content:
|
|
963
|
+
application/json:
|
|
964
|
+
schema:
|
|
965
|
+
$ref: '#/components/schemas/Error'
|
|
966
|
+
examples:
|
|
967
|
+
noManifest:
|
|
968
|
+
value:
|
|
969
|
+
errors:
|
|
970
|
+
- code: invalid_ref
|
|
971
|
+
message: mcpserver.json not found.
|
|
972
|
+
noManifests:
|
|
973
|
+
value:
|
|
974
|
+
errors:
|
|
975
|
+
- code: invalid_template
|
|
976
|
+
message: integration.json file is missing.
|
|
977
|
+
toolNotPacked:
|
|
978
|
+
value:
|
|
979
|
+
errors:
|
|
980
|
+
- code: invalid_template
|
|
981
|
+
message: MCP server references tool 6ab130000000000000000a01, which is missing from the template zip.
|
|
982
|
+
dependencyMissing:
|
|
983
|
+
value:
|
|
984
|
+
errors:
|
|
985
|
+
- code: MCP_TEMPLATE_DEPENDENCY_MISSING
|
|
986
|
+
message: The MCP template is missing connection 6ab130000000000000000c01.
|
|
987
|
+
resourceTooLarge:
|
|
988
|
+
value:
|
|
989
|
+
errors:
|
|
990
|
+
- code: MCP_TEMPLATE_RESOURCE_TOO_LARGE
|
|
991
|
+
message: Resource file 6ab130000000000000000f02 exceeds the allowed size.
|
|
992
|
+
/v1/mcpservers/template:
|
|
993
|
+
post:
|
|
994
|
+
x-internal: false
|
|
995
|
+
operationId: installMcpServerTemplateFromUpload
|
|
996
|
+
tags:
|
|
997
|
+
- MCP Servers
|
|
998
|
+
summary: Install an uploaded MCP server template
|
|
999
|
+
description: |-
|
|
1000
|
+
Installs an MCP-server template from a ZIP you uploaded with the URL
|
|
1001
|
+
from `GET /v1/s3SignedURL`. The body carries only that call's `runKey`;
|
|
1002
|
+
the server's name and `relativeURI` come from the template. Check the
|
|
1003
|
+
ZIP first with `GET /v1/mcpservers/template/preview`, which runs the
|
|
1004
|
+
same ZIP checks with the same errors and creates nothing.
|
|
1005
|
+
|
|
1006
|
+
The response's `destination` envelope names what was created. A
|
|
1007
|
+
template with only inline prompts creates the MCP server immediately,
|
|
1008
|
+
disabled (`destination.resourceType` is `mcpservers`); when its
|
|
1009
|
+
`relativeURI` is taken, the server gets a `-2`, `-3`, … suffix. A
|
|
1010
|
+
template that also packs dependencies, such as a connection, creates an
|
|
1011
|
+
Integration in install mode instead (`destination.resourceType` is
|
|
1012
|
+
`integrations`), with an install step per packed connection and a last
|
|
1013
|
+
step that copies the template's resources; no MCP server exists yet
|
|
1014
|
+
when the request returns.
|
|
1015
|
+
|
|
1016
|
+
Every request starts a new install, so retrying after a timeout or an
|
|
1017
|
+
ambiguous failure creates a duplicate server or install-mode
|
|
1018
|
+
Integration.
|
|
1019
|
+
x-celigo-ai-guidance:
|
|
1020
|
+
- Never retry this POST after a timeout or an ambiguous failure — each request installs again; a prompt-only template yields a second server with a -2 suffix on its relativeURI, and a template with dependencies a second install-mode Integration.
|
|
1021
|
+
- Branch the follow-up on destination.resourceType — "mcpservers" means the disabled MCP server already exists; "integrations" means the install continues in that Integration's install steps and the server does not exist yet.
|
|
1022
|
+
requestBody:
|
|
1023
|
+
required: true
|
|
1024
|
+
content:
|
|
1025
|
+
application/json:
|
|
1026
|
+
schema:
|
|
1027
|
+
type: object
|
|
1028
|
+
required:
|
|
1029
|
+
- runKey
|
|
1030
|
+
properties:
|
|
1031
|
+
runKey:
|
|
1032
|
+
type: string
|
|
1033
|
+
description: |-
|
|
1034
|
+
The `runKey` returned by `GET /v1/s3SignedURL` for the uploaded
|
|
1035
|
+
template ZIP.
|
|
1036
|
+
examples:
|
|
1037
|
+
- 78f30205bdda4c4bb2a75eb121172250
|
|
1038
|
+
examples:
|
|
1039
|
+
default:
|
|
1040
|
+
value:
|
|
1041
|
+
runKey: 78f30205bdda4c4bb2a75eb121172250
|
|
1042
|
+
responses:
|
|
1043
|
+
'201':
|
|
1044
|
+
description: Installation started.
|
|
1045
|
+
content:
|
|
1046
|
+
application/json:
|
|
1047
|
+
schema:
|
|
1048
|
+
type: object
|
|
1049
|
+
required:
|
|
1050
|
+
- destination
|
|
1051
|
+
properties:
|
|
1052
|
+
destination:
|
|
1053
|
+
type: object
|
|
1054
|
+
description: The resource the install created first.
|
|
1055
|
+
required:
|
|
1056
|
+
- resourceType
|
|
1057
|
+
- resourceId
|
|
1058
|
+
properties:
|
|
1059
|
+
resourceType:
|
|
1060
|
+
type: string
|
|
1061
|
+
enum:
|
|
1062
|
+
- mcpservers
|
|
1063
|
+
- integrations
|
|
1064
|
+
x-enumDescriptions:
|
|
1065
|
+
mcpservers: The disabled MCP server, created immediately from a template with only inline prompts
|
|
1066
|
+
integrations: The install-mode Integration created for a template that packs dependencies, such as a connection
|
|
1067
|
+
description: |-
|
|
1068
|
+
Which resource type the install created — determines
|
|
1069
|
+
where the caller continues the setup.
|
|
1070
|
+
resourceId:
|
|
1071
|
+
type: string
|
|
1072
|
+
format: objectId
|
|
1073
|
+
description: |-
|
|
1074
|
+
The created resource's ID, in the collection named by
|
|
1075
|
+
`resourceType`.
|
|
1076
|
+
examples:
|
|
1077
|
+
promptOnly:
|
|
1078
|
+
summary: Prompt-only template — disabled MCP server
|
|
1079
|
+
value:
|
|
1080
|
+
destination:
|
|
1081
|
+
resourceType: mcpservers
|
|
1082
|
+
resourceId: 6ab130000000000000000d02
|
|
1083
|
+
withConnection:
|
|
1084
|
+
summary: Template with a connection — Integration in install mode
|
|
1085
|
+
value:
|
|
1086
|
+
destination:
|
|
1087
|
+
resourceType: integrations
|
|
1088
|
+
resourceId: 6ab130000000000000000d01
|
|
1089
|
+
'400':
|
|
1090
|
+
description: |-
|
|
1091
|
+
The request or the ZIP is malformed: `runKey` is missing
|
|
1092
|
+
(`missing_required_field`); the file is not a readable ZIP, including
|
|
1093
|
+
one with two entries of the same name (`MCP_TEMPLATE_INVALID_ZIP`); or
|
|
1094
|
+
an entry is invalid (`MCP_TEMPLATE_INVALID_ENTRY` — for example an
|
|
1095
|
+
entry path containing `..`, a resource file the manifest declares but
|
|
1096
|
+
the ZIP lacks, or a null tool row).
|
|
1097
|
+
content:
|
|
1098
|
+
application/json:
|
|
1099
|
+
schema:
|
|
1100
|
+
$ref: '#/components/schemas/Error'
|
|
1101
|
+
examples:
|
|
1102
|
+
missingRunKey:
|
|
1103
|
+
value:
|
|
1104
|
+
errors:
|
|
1105
|
+
- code: missing_required_field
|
|
1106
|
+
message: runKey is required.
|
|
1107
|
+
invalidZip:
|
|
1108
|
+
value:
|
|
1109
|
+
errors:
|
|
1110
|
+
- code: MCP_TEMPLATE_INVALID_ZIP
|
|
1111
|
+
message: The MCP template zip is damaged or is not a zip file.
|
|
1112
|
+
invalidEntry:
|
|
1113
|
+
value:
|
|
1114
|
+
errors:
|
|
1115
|
+
- code: MCP_TEMPLATE_INVALID_ENTRY
|
|
1116
|
+
message: The MCP template contains an invalid entry.
|
|
1117
|
+
'401':
|
|
1118
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1119
|
+
'404':
|
|
1120
|
+
description: The `runKey` does not match an uploaded file.
|
|
1121
|
+
content:
|
|
1122
|
+
application/json:
|
|
1123
|
+
schema:
|
|
1124
|
+
$ref: '#/components/schemas/Error'
|
|
1125
|
+
examples:
|
|
1126
|
+
invalidKey:
|
|
1127
|
+
value:
|
|
1128
|
+
errors:
|
|
1129
|
+
- code: invalid_key
|
|
1130
|
+
message: We couldn't find any integration template zip file.
|
|
1131
|
+
'413':
|
|
1132
|
+
description: |-
|
|
1133
|
+
The ZIP exceeds an MCP template limit: more than 32 MiB uncompressed in
|
|
1134
|
+
total, more than 500 entries, or a JSON entry over 1 MiB.
|
|
1135
|
+
content:
|
|
1136
|
+
application/json:
|
|
1137
|
+
schema:
|
|
1138
|
+
$ref: '#/components/schemas/Error'
|
|
1139
|
+
examples:
|
|
1140
|
+
tooLarge:
|
|
1141
|
+
value:
|
|
1142
|
+
errors:
|
|
1143
|
+
- code: MCP_TEMPLATE_ZIP_TOO_LARGE
|
|
1144
|
+
message: The MCP template zip exceeds the allowed size.
|
|
1145
|
+
'422':
|
|
1146
|
+
description: |-
|
|
1147
|
+
The ZIP is not an installable MCP-server template, so nothing was
|
|
1148
|
+
created: the same checks and codes as the preview (`invalid_ref`,
|
|
1149
|
+
`invalid_template`, `MCP_TEMPLATE_DEPENDENCY_MISSING`,
|
|
1150
|
+
`MCP_TEMPLATE_RESOURCE_TOO_LARGE`). Retrying with the same ZIP fails
|
|
1151
|
+
the same way.
|
|
1152
|
+
content:
|
|
1153
|
+
application/json:
|
|
1154
|
+
schema:
|
|
1155
|
+
$ref: '#/components/schemas/Error'
|
|
1156
|
+
examples:
|
|
1157
|
+
noManifest:
|
|
1158
|
+
value:
|
|
1159
|
+
errors:
|
|
1160
|
+
- code: invalid_ref
|
|
1161
|
+
message: mcpserver.json not found.
|
|
1162
|
+
dependencyMissing:
|
|
1163
|
+
value:
|
|
1164
|
+
errors:
|
|
1165
|
+
- code: MCP_TEMPLATE_DEPENDENCY_MISSING
|
|
1166
|
+
message: The MCP template is missing connection 6ab130000000000000000c01.
|
|
783
1167
|
/v1/mcpservers/template/{_templateId}:
|
|
784
1168
|
post:
|
|
785
1169
|
x-internal: false
|
|
@@ -4159,6 +4543,64 @@ components:
|
|
|
4159
4543
|
minItems: 1
|
|
4160
4544
|
items:
|
|
4161
4545
|
$ref: '#/components/schemas/JsonPatchOperation'
|
|
4546
|
+
McpServerTemplatePreview:
|
|
4547
|
+
type: object
|
|
4548
|
+
description: |-
|
|
4549
|
+
What installing an uploaded MCP-server template ZIP would create.
|
|
4550
|
+
`objects[]` lists each resource doc tagged by `model`. Packed docs keep
|
|
4551
|
+
the template's placeholder ids; the install assigns new ones.
|
|
4552
|
+
required:
|
|
4553
|
+
- type
|
|
4554
|
+
- objects
|
|
4555
|
+
- stackRequired
|
|
4556
|
+
properties:
|
|
4557
|
+
type:
|
|
4558
|
+
type: string
|
|
4559
|
+
enum:
|
|
4560
|
+
- mcpserver
|
|
4561
|
+
x-enumDescriptions:
|
|
4562
|
+
mcpserver: The ZIP is an MCP-server template; install it with `POST /v1/mcpservers/template`
|
|
4563
|
+
description: |-
|
|
4564
|
+
Kind of template the uploaded ZIP holds. Always `mcpserver` on this
|
|
4565
|
+
route — a ZIP without `mcpserver.json`, such as an integration
|
|
4566
|
+
template, is rejected before a preview is built.
|
|
4567
|
+
examples:
|
|
4568
|
+
- mcpserver
|
|
4569
|
+
objects:
|
|
4570
|
+
type: array
|
|
4571
|
+
description: |-
|
|
4572
|
+
Resource docs the install would create, in order: the `McpServer`
|
|
4573
|
+
doc, then each document packed in the ZIP (a `Connection`, for
|
|
4574
|
+
example), then one `Prompt` entry per inline prompt and one
|
|
4575
|
+
`McpResource` entry per Celigo Storage file the server serves. The
|
|
4576
|
+
ZIP's `integration.json` is never listed.
|
|
4577
|
+
items:
|
|
4578
|
+
type: object
|
|
4579
|
+
description: One resource doc tagged with its model type.
|
|
4580
|
+
required:
|
|
4581
|
+
- model
|
|
4582
|
+
- doc
|
|
4583
|
+
properties:
|
|
4584
|
+
model:
|
|
4585
|
+
type: string
|
|
4586
|
+
description: |-
|
|
4587
|
+
Resource class this doc describes: `McpServer`, `Prompt`, or
|
|
4588
|
+
`McpResource` for the server and what it serves, otherwise the
|
|
4589
|
+
model of the packed document, such as `Connection`.
|
|
4590
|
+
examples:
|
|
4591
|
+
- Connection
|
|
4592
|
+
doc:
|
|
4593
|
+
type: object
|
|
4594
|
+
description: |-
|
|
4595
|
+
The resource document as packed in the template. The `McpServer`
|
|
4596
|
+
doc has no `_id`; an `McpResource` doc also carries the file's
|
|
4597
|
+
`size` in bytes.
|
|
4598
|
+
additionalProperties: true
|
|
4599
|
+
stackRequired:
|
|
4600
|
+
type: boolean
|
|
4601
|
+
description: |-
|
|
4602
|
+
When true, the template packs something that runs on a stack, such
|
|
4603
|
+
as a wrapper connection.
|
|
4162
4604
|
DependencyEntry:
|
|
4163
4605
|
type: object
|
|
4164
4606
|
description: A single resource that depends on the queried resource.
|
|
@@ -7241,6 +7683,22 @@ components:
|
|
|
7241
7683
|
an `auth.type` `oauth` connection: 422 invalid_field_update "Removing _iClientId is
|
|
7242
7684
|
not allowed for oauth connections due to security reasons." — switch it to another
|
|
7243
7685
|
iClient instead.
|
|
7686
|
+
_tokenStoreId:
|
|
7687
|
+
type: string
|
|
7688
|
+
format: objectId
|
|
7689
|
+
readOnly: true
|
|
7690
|
+
description: |-
|
|
7691
|
+
Token store holding the expiring Shopify access token that this connection shares with
|
|
7692
|
+
the other connections of the same app and shop. Set only by the platform, and present
|
|
7693
|
+
only when set; no API route reads the store itself. Sending the field on POST, even as
|
|
7694
|
+
`null`, fails with 422 `token_store_id_not_writable`. On PUT or PATCH only a value
|
|
7695
|
+
different from the stored one fails the same way (any id, on a connection that has
|
|
7696
|
+
none), so sending it back unchanged or omitting it is accepted.
|
|
7697
|
+
x-celigo-ai-guidance:
|
|
7698
|
+
- |-
|
|
7699
|
+
When creating a connection from another connection's GET response, drop
|
|
7700
|
+
`http._tokenStoreId` from the body: a POST that carries it with any value, `null`
|
|
7701
|
+
included, fails with 422 `token_store_id_not_writable`.
|
|
7244
7702
|
_httpConnectorId:
|
|
7245
7703
|
type: string
|
|
7246
7704
|
format: objectId
|
package/dist/template.yml
CHANGED
|
@@ -511,6 +511,12 @@ paths:
|
|
|
511
511
|
Previews the resources that would be created by installing a template
|
|
512
512
|
from an uploaded zip file. The `runKey` query parameter ties this request
|
|
513
513
|
to a previously uploaded zip (obtained from `GET /v1/s3SignedURL`).
|
|
514
|
+
|
|
515
|
+
The zip must be at most 1 MB, and its entries at most 64 MB once
|
|
516
|
+
uncompressed; the preview applies the same checks as
|
|
517
|
+
`POST /v1/integrations/template`. An MCP server template (a zip with a
|
|
518
|
+
root `mcpserver.json`) is refused here: preview it with
|
|
519
|
+
`GET /v1/mcpservers/template/preview`.
|
|
514
520
|
parameters:
|
|
515
521
|
- name: runKey
|
|
516
522
|
in: query
|
|
@@ -535,6 +541,7 @@ paths:
|
|
|
535
541
|
preview:
|
|
536
542
|
summary: Template that creates an integration and one connection
|
|
537
543
|
value:
|
|
544
|
+
type: integration
|
|
538
545
|
stackRequired: false
|
|
539
546
|
objects:
|
|
540
547
|
- model: Integration
|
|
@@ -551,7 +558,10 @@ paths:
|
|
|
551
558
|
wsdlVersion: '2020.2'
|
|
552
559
|
concurrencyLevel: 1
|
|
553
560
|
'400':
|
|
554
|
-
description:
|
|
561
|
+
description: |-
|
|
562
|
+
Missing required `runKey` query parameter, the uploaded zip is larger
|
|
563
|
+
than 1 MB (`invalid_zip`), or the zip is an MCP server template
|
|
564
|
+
(`invalid_template`).
|
|
555
565
|
content:
|
|
556
566
|
application/json:
|
|
557
567
|
schema:
|
|
@@ -562,6 +572,17 @@ paths:
|
|
|
562
572
|
errors:
|
|
563
573
|
- code: missing_required_field
|
|
564
574
|
message: runKey is required.
|
|
575
|
+
zipTooLarge:
|
|
576
|
+
value:
|
|
577
|
+
errors:
|
|
578
|
+
- code: invalid_zip
|
|
579
|
+
message: Template can't be imported as the maximum allowed zip file size is 1 MB. Please re-import a new zip file.
|
|
580
|
+
mcpServerTemplate:
|
|
581
|
+
summary: A zip with a root mcpserver.json
|
|
582
|
+
value:
|
|
583
|
+
errors:
|
|
584
|
+
- code: invalid_template
|
|
585
|
+
message: MCP server templates cannot be installed through the Integration template path. Use Upload MCP.
|
|
565
586
|
'401':
|
|
566
587
|
$ref: '#/components/responses/401-unauthorized'
|
|
567
588
|
'403':
|
|
@@ -577,7 +598,26 @@ paths:
|
|
|
577
598
|
value:
|
|
578
599
|
errors:
|
|
579
600
|
- code: invalid_key
|
|
580
|
-
message:
|
|
601
|
+
message: We couldn't find any integration template zip file.
|
|
602
|
+
'422':
|
|
603
|
+
description: |-
|
|
604
|
+
The zip's entries exceed 64 MB uncompressed (`invalid_zip`), or an entry
|
|
605
|
+
is corrupted (`corrupted_file`).
|
|
606
|
+
content:
|
|
607
|
+
application/json:
|
|
608
|
+
schema:
|
|
609
|
+
$ref: '#/components/schemas/Error'
|
|
610
|
+
examples:
|
|
611
|
+
uncompressedTooLarge:
|
|
612
|
+
value:
|
|
613
|
+
errors:
|
|
614
|
+
- code: invalid_zip
|
|
615
|
+
message: Template can't be imported as the uncompressed zip contents exceed the maximum allowed size. Please re-import a smaller zip file.
|
|
616
|
+
corrupted:
|
|
617
|
+
value:
|
|
618
|
+
errors:
|
|
619
|
+
- code: corrupted_file
|
|
620
|
+
message: Looks like the uploaded zip is corrupted. Please contact Celigo support if the issue persists.
|
|
581
621
|
/v1/integrations/template:
|
|
582
622
|
post:
|
|
583
623
|
x-internal: false
|
|
@@ -594,6 +634,12 @@ paths:
|
|
|
594
634
|
installed integration receives new connection `_id`s. Configure each
|
|
595
635
|
connection in the new integration before running its flows; connection
|
|
596
636
|
`_id`s that existed only in the zip are not preserved.
|
|
637
|
+
|
|
638
|
+
The zip must be at most 1 MB, and its entries at most 64 MB once
|
|
639
|
+
uncompressed. A zip that breaks either limit, or holds a corrupted entry,
|
|
640
|
+
is refused before anything is created. So is an MCP server template (a
|
|
641
|
+
zip with a root `mcpserver.json`): install it with
|
|
642
|
+
`POST /v1/mcpservers/template`.
|
|
597
643
|
requestBody:
|
|
598
644
|
required: true
|
|
599
645
|
content:
|
|
@@ -626,21 +672,43 @@ paths:
|
|
|
626
672
|
value:
|
|
627
673
|
runKey: abc123def456
|
|
628
674
|
responses:
|
|
629
|
-
'
|
|
630
|
-
description:
|
|
675
|
+
'201':
|
|
676
|
+
description: |-
|
|
677
|
+
Template installed. Each entry names a document the install created;
|
|
678
|
+
the `Integration` entry is the new integration.
|
|
631
679
|
content:
|
|
632
680
|
application/json:
|
|
633
681
|
schema:
|
|
634
|
-
type:
|
|
635
|
-
|
|
636
|
-
|
|
682
|
+
type: array
|
|
683
|
+
items:
|
|
684
|
+
type: object
|
|
685
|
+
required:
|
|
686
|
+
- model
|
|
687
|
+
- _id
|
|
688
|
+
properties:
|
|
689
|
+
model:
|
|
690
|
+
type: string
|
|
691
|
+
description: Model of the created document.
|
|
692
|
+
examples:
|
|
693
|
+
- Integration
|
|
694
|
+
_id:
|
|
695
|
+
type: string
|
|
696
|
+
format: objectId
|
|
697
|
+
description: Id of the created document.
|
|
698
|
+
examples:
|
|
699
|
+
- 6405b9d73496e05ff253d587
|
|
637
700
|
examples:
|
|
638
701
|
installed:
|
|
639
702
|
summary: Integration created from the uploaded zip
|
|
640
703
|
value:
|
|
641
|
-
|
|
704
|
+
- model: Integration
|
|
705
|
+
_id: 6405b9d73496e05ff253d587
|
|
642
706
|
'400':
|
|
643
|
-
description:
|
|
707
|
+
description: |-
|
|
708
|
+
Missing required `runKey` in request body, the uploaded zip is larger
|
|
709
|
+
than 1 MB (`invalid_zip`), the zip is an MCP server template
|
|
710
|
+
(`invalid_template`), or the preview reports `stackRequired: true` and
|
|
711
|
+
the body has no `_stackId` (`stack_not_found`).
|
|
644
712
|
content:
|
|
645
713
|
application/json:
|
|
646
714
|
schema:
|
|
@@ -651,12 +719,31 @@ paths:
|
|
|
651
719
|
errors:
|
|
652
720
|
- code: missing_required_field
|
|
653
721
|
message: runKey is required.
|
|
722
|
+
zipTooLarge:
|
|
723
|
+
value:
|
|
724
|
+
errors:
|
|
725
|
+
- code: invalid_zip
|
|
726
|
+
message: Template can't be imported as the maximum allowed zip file size is 1 MB. Please re-import a new zip file.
|
|
727
|
+
mcpServerTemplate:
|
|
728
|
+
summary: A zip with a root mcpserver.json
|
|
729
|
+
value:
|
|
730
|
+
errors:
|
|
731
|
+
- code: invalid_template
|
|
732
|
+
message: MCP server templates cannot be installed through the Integration template path. Use Upload MCP.
|
|
733
|
+
stackMissing:
|
|
734
|
+
summary: The zip has a stack hook and the body has no _stackId
|
|
735
|
+
value:
|
|
736
|
+
errors:
|
|
737
|
+
- code: stack_not_found
|
|
738
|
+
message: The integration template has stack reference but _stackId not found in the request body.
|
|
654
739
|
'401':
|
|
655
740
|
$ref: '#/components/responses/401-unauthorized'
|
|
656
741
|
'403':
|
|
657
742
|
$ref: '#/components/responses/403-cannot-install'
|
|
658
743
|
'404':
|
|
659
|
-
description:
|
|
744
|
+
description: |-
|
|
745
|
+
The `runKey` does not match any uploaded zip (`invalid_key`), or
|
|
746
|
+
`_stackId` matches no stack (`stack_not_found`).
|
|
660
747
|
content:
|
|
661
748
|
application/json:
|
|
662
749
|
schema:
|
|
@@ -666,7 +753,31 @@ paths:
|
|
|
666
753
|
value:
|
|
667
754
|
errors:
|
|
668
755
|
- code: invalid_key
|
|
669
|
-
message:
|
|
756
|
+
message: We couldn't find any integration template zip file.
|
|
757
|
+
unknownStack:
|
|
758
|
+
value:
|
|
759
|
+
errors:
|
|
760
|
+
- code: stack_not_found
|
|
761
|
+
message: 'Failed to create the integration using the integration template provided as no stack found with _id: ''000000000000000000000000''.'
|
|
762
|
+
'422':
|
|
763
|
+
description: |-
|
|
764
|
+
The zip's entries exceed 64 MB uncompressed (`invalid_zip`), or an entry
|
|
765
|
+
is corrupted (`corrupted_file`). Nothing is installed.
|
|
766
|
+
content:
|
|
767
|
+
application/json:
|
|
768
|
+
schema:
|
|
769
|
+
$ref: '#/components/schemas/Error'
|
|
770
|
+
examples:
|
|
771
|
+
uncompressedTooLarge:
|
|
772
|
+
value:
|
|
773
|
+
errors:
|
|
774
|
+
- code: invalid_zip
|
|
775
|
+
message: Template can't be imported as the uncompressed zip contents exceed the maximum allowed size. Please re-import a smaller zip file.
|
|
776
|
+
corrupted:
|
|
777
|
+
value:
|
|
778
|
+
errors:
|
|
779
|
+
- code: corrupted_file
|
|
780
|
+
message: Looks like the uploaded zip is corrupted. Please contact Celigo support if the issue persists.
|
|
670
781
|
components:
|
|
671
782
|
securitySchemes:
|
|
672
783
|
bearerAuth:
|