@celigo/api-specs 0.2.38 → 0.2.40
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 +201 -3
- package/dist/agent.yml +7 -0
- package/dist/ai-agent.yml +97 -13
- package/dist/api.yml +5934 -121
- package/dist/asynchelper.yml +7 -0
- package/dist/audit.yml +36 -1
- package/dist/connection.yml +662 -74
- package/dist/ediprofile.yml +7 -0
- package/dist/editransaction.yml +225 -0
- package/dist/enduser.yml +5605 -35
- package/dist/export.yml +276 -41
- package/dist/filedefinition.yml +7 -0
- package/dist/filestorage.yml +712 -330
- package/dist/flow.yml +78 -37
- package/dist/guardrail.yml +81 -533
- package/dist/httpconnectorendpoint.yml +602 -126
- package/dist/httpconnectorresource.yml +1160 -84
- package/dist/iclient.yml +108 -16
- package/dist/import.yml +1357 -176
- package/dist/integration.yml +814 -0
- package/dist/lookupcache.yml +7 -0
- package/dist/marketplace.yml +285 -105
- package/dist/mcp-server.yml +6310 -187
- package/dist/recyclebin.yml +32 -2
- package/dist/script.yml +7 -0
- package/dist/stack.yml +642 -5
- package/dist/subscription.yml +122 -26
- package/dist/template.yml +34 -1
- package/dist/tool.yml +4777 -1652
- package/dist/topic.yml +1783 -0
- package/dist/user.yml +142 -29
- package/package.json +1 -1
- package/schemas.json +978 -768
package/dist/connection.yml
CHANGED
|
@@ -156,6 +156,11 @@ paths:
|
|
|
156
156
|
`404`, and `422` responses); failures during the post-save registration itself do not
|
|
157
157
|
roll back the new connection and are reported in `__failedIntegrationRegistrations` on
|
|
158
158
|
the `201` response.
|
|
159
|
+
|
|
160
|
+
Creates `standard` connections only: a body with `connectionRole: mcpChild` is rejected,
|
|
161
|
+
because MCP end-user child connections are written solely by the end-user setup page. To
|
|
162
|
+
make a connection the parent that an MCP server collects end-user credentials for, list the
|
|
163
|
+
per-user fields in `endUserProvidedFields`.
|
|
159
164
|
operationId: createConnection
|
|
160
165
|
tags:
|
|
161
166
|
- Connections
|
|
@@ -193,6 +198,34 @@ paths:
|
|
|
193
198
|
type: custom
|
|
194
199
|
__integrationIds:
|
|
195
200
|
- 6a55be91d16ee8270022893e
|
|
201
|
+
httpMcpParent:
|
|
202
|
+
summary: HTTP connection that MCP end users supply their own API key for
|
|
203
|
+
value:
|
|
204
|
+
name: Support Desk API
|
|
205
|
+
type: http
|
|
206
|
+
endUserProvidedFields:
|
|
207
|
+
- http.encrypted.apiKey
|
|
208
|
+
http:
|
|
209
|
+
mediaType: json
|
|
210
|
+
baseURI: https://api.example.com
|
|
211
|
+
auth:
|
|
212
|
+
type: custom
|
|
213
|
+
headers:
|
|
214
|
+
- name: X-API-Key
|
|
215
|
+
value: '{{{connection.http.encrypted.apiKey}}}'
|
|
216
|
+
encrypted:
|
|
217
|
+
apiKey: <owner-api-key>
|
|
218
|
+
httpAwsIam:
|
|
219
|
+
summary: HTTP connection signing requests with an AWS IAM role (iClient)
|
|
220
|
+
value:
|
|
221
|
+
name: SQS - orders account
|
|
222
|
+
type: http
|
|
223
|
+
http:
|
|
224
|
+
mediaType: json
|
|
225
|
+
baseURI: https://sqs.us-east-1.amazonaws.com
|
|
226
|
+
_iClientId: 6ab1f51c7b3d01a908423f0a
|
|
227
|
+
auth:
|
|
228
|
+
type: awsiam
|
|
196
229
|
netsuiteTokenAuto:
|
|
197
230
|
summary: NetSuite connection (automatic token-based auth — recommended)
|
|
198
231
|
value:
|
|
@@ -453,6 +486,7 @@ paths:
|
|
|
453
486
|
lastModified: '2026-06-08T00:45:50.951Z'
|
|
454
487
|
type: http
|
|
455
488
|
name: My HTTP API
|
|
489
|
+
connectionRole: standard
|
|
456
490
|
enableMicroBatchForOneToMany: true
|
|
457
491
|
enableCsvObjectParsing: true
|
|
458
492
|
autoRecoverRateLimitErrors: true
|
|
@@ -559,7 +593,9 @@ paths:
|
|
|
559
593
|
description: |-
|
|
560
594
|
Unprocessable entity. The request was well-formed but was unable to be followed
|
|
561
595
|
due to semantic errors — for example, a missing config object for the connection
|
|
562
|
-
`type`,
|
|
596
|
+
`type`, an invalid `__integrationIds` value, a decimal concurrency value, an
|
|
597
|
+
`http._iClientId` that does not satisfy the auth type's iClient rules, or an
|
|
598
|
+
`mcpChild` role. The connection is not created.
|
|
563
599
|
content:
|
|
564
600
|
application/json:
|
|
565
601
|
schema:
|
|
@@ -589,16 +625,67 @@ paths:
|
|
|
589
625
|
errors:
|
|
590
626
|
- code: invalid_request
|
|
591
627
|
message: __integrationIds must not contain duplicate integration IDs.
|
|
628
|
+
mcpChildNotAllowed:
|
|
629
|
+
summary: connectionRole is mcpChild
|
|
630
|
+
value:
|
|
631
|
+
errors:
|
|
632
|
+
- code: mcp_child_generic_route_not_allowed
|
|
633
|
+
message: An mcpChild connection cannot be created, updated or deleted through the connections API, including the recurse and recycle bin routes.
|
|
634
|
+
endUserProvidedFieldParentOwned:
|
|
635
|
+
summary: endUserProvidedFields names a field the account owns
|
|
636
|
+
value:
|
|
637
|
+
errors:
|
|
638
|
+
- field: endUserProvidedFields
|
|
639
|
+
code: mcp_end_user_provided_field_not_allowed
|
|
640
|
+
message: http._iClientId is managed by the account owner and cannot be requested from an end user.
|
|
641
|
+
concurrencyNotInteger:
|
|
642
|
+
summary: Decimal concurrency value
|
|
643
|
+
value:
|
|
644
|
+
errors:
|
|
645
|
+
- field: http.concurrencyLevel
|
|
646
|
+
code: invalid_field_value
|
|
647
|
+
message: The field "http.concurrencyLevel" must be a whole number (no decimals) between 1 and 50.
|
|
648
|
+
awsIamIClientMissing:
|
|
649
|
+
summary: auth.type awsiam without http._iClientId
|
|
650
|
+
value:
|
|
651
|
+
errors:
|
|
652
|
+
- field: http._iClientId
|
|
653
|
+
code: missing_required_field
|
|
654
|
+
message: 'Expected field: _iClientId to be present.'
|
|
655
|
+
awsIamIClientWrongProvider:
|
|
656
|
+
summary: awsiam connection referencing a non-awsIam iClient
|
|
657
|
+
value:
|
|
658
|
+
errors:
|
|
659
|
+
- field: http._iClientId
|
|
660
|
+
code: invalid_field
|
|
661
|
+
message: IClient provider must be awsIam for HTTP IAM Role authentication.
|
|
662
|
+
awsIamRoleArnPrefix:
|
|
663
|
+
summary: awsIam iClient whose role name lacks the celigo-http-adaptor- prefix
|
|
664
|
+
value:
|
|
665
|
+
errors:
|
|
666
|
+
- field: http._iClientId
|
|
667
|
+
code: invalid_field_value
|
|
668
|
+
message: HTTP IAM Role authentication requires awsIam.roleArn to reference a role name starting with celigo-http-adaptor-.
|
|
669
|
+
iClientOtherAccount:
|
|
670
|
+
summary: iClient owned by another account
|
|
671
|
+
value:
|
|
672
|
+
errors:
|
|
673
|
+
- field: http._iClientId
|
|
674
|
+
code: invalid_ref
|
|
675
|
+
message: The referenced IClient must belong to the same user.
|
|
676
|
+
adlsIClientWrongProvider:
|
|
677
|
+
summary: Azure Data Lake Storage Gen2 connection referencing a non-service-principal iClient
|
|
678
|
+
value:
|
|
679
|
+
errors:
|
|
680
|
+
- field: http._iClientId
|
|
681
|
+
code: invalid_field
|
|
682
|
+
message: IClient provider must be azureserviceprincipal for Azure Data Lake Storage Gen2 connections.
|
|
592
683
|
x-celigo-ai-guidance:
|
|
593
684
|
- |-
|
|
594
|
-
|
|
595
|
-
and
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
- Sample data retrieval
|
|
599
|
-
- Permission verification for read/write operations
|
|
600
|
-
- Schema or metadata validation
|
|
601
|
-
- Rate limiting and quota checks
|
|
685
|
+
Send exactly one adaptor config object, the one named by `type`. Credentials are accepted
|
|
686
|
+
in clear on create and come back masked as "******"; the response also carries the
|
|
687
|
+
server-populated fields (`connectionRole: standard`, `concurrencyLevel`,
|
|
688
|
+
`targetConcurrencyLevel`, `microServices`).
|
|
602
689
|
/v1/connections/{_id}:
|
|
603
690
|
get:
|
|
604
691
|
x-internal: false
|
|
@@ -649,6 +736,31 @@ paths:
|
|
|
649
736
|
disableHttp: false
|
|
650
737
|
disableNetSuiteDistributed: false
|
|
651
738
|
disableRdbms: false
|
|
739
|
+
httpMcpParent:
|
|
740
|
+
summary: HTTP connection that MCP end users supply their own API key for
|
|
741
|
+
value:
|
|
742
|
+
_id: 6ab1f41f4db5688fd8ca71fb
|
|
743
|
+
createdAt: '2026-09-21T20:21:03.924Z'
|
|
744
|
+
lastModified: '2026-09-21T20:22:22.140Z'
|
|
745
|
+
type: http
|
|
746
|
+
name: Support Desk API
|
|
747
|
+
connectionRole: standard
|
|
748
|
+
endUserProvidedFields:
|
|
749
|
+
- http.encrypted.apiKey
|
|
750
|
+
enableMicroBatchForOneToMany: true
|
|
751
|
+
enableCsvObjectParsing: true
|
|
752
|
+
autoRecoverRateLimitErrors: true
|
|
753
|
+
http:
|
|
754
|
+
formType: http
|
|
755
|
+
mediaType: json
|
|
756
|
+
baseURI: https://api.example.com
|
|
757
|
+
concurrencyLevel: 25
|
|
758
|
+
targetConcurrencyLevel: 25
|
|
759
|
+
encrypted: '******'
|
|
760
|
+
isRest: false
|
|
761
|
+
useNewAuthFailSchema: true
|
|
762
|
+
auth:
|
|
763
|
+
type: custom
|
|
652
764
|
mcp:
|
|
653
765
|
summary: MCP connection
|
|
654
766
|
value:
|
|
@@ -682,7 +794,15 @@ paths:
|
|
|
682
794
|
summary: Update a connection
|
|
683
795
|
description: |
|
|
684
796
|
Updates an existing connection configuration. This is a full-replace operation —
|
|
685
|
-
send the complete connection document, not just the fields you want to change
|
|
797
|
+
send the complete connection document, not just the fields you want to change; a field
|
|
798
|
+
omitted from the body is cleared, including credentials (re-send them, or the masked
|
|
799
|
+
`"******"` value clears them too).
|
|
800
|
+
|
|
801
|
+
Three settings are the exception and survive an omission: `endUserProvidedFields`
|
|
802
|
+
(send `null` to clear it — `[]` is treated like an omission), and on `ftp` connections
|
|
803
|
+
`ftp.concurrencyLevel` and `ftp.targetConcurrencyLevel` (the latter is unset whenever
|
|
804
|
+
`autoRecoverRateLimitErrors` is false). `connectionRole` is read-only here: a body carrying
|
|
805
|
+
`mcpChild` is rejected.
|
|
686
806
|
operationId: updateConnection
|
|
687
807
|
tags:
|
|
688
808
|
- Connections
|
|
@@ -792,11 +912,47 @@ paths:
|
|
|
792
912
|
'404':
|
|
793
913
|
$ref: '#/components/responses/404-not-found'
|
|
794
914
|
'422':
|
|
795
|
-
|
|
915
|
+
description: |-
|
|
916
|
+
Unprocessable entity. The body was well-formed but fails the connection's validation
|
|
917
|
+
rules — the same rules as on create (missing config object, decimal concurrency,
|
|
918
|
+
iClient rules, parent-owned `endUserProvidedFields` path, `mcpChild` role).
|
|
919
|
+
content:
|
|
920
|
+
application/json:
|
|
921
|
+
schema:
|
|
922
|
+
$ref: '#/components/schemas/Error'
|
|
923
|
+
examples:
|
|
924
|
+
default:
|
|
925
|
+
summary: Semantic validation failure
|
|
926
|
+
value:
|
|
927
|
+
errors:
|
|
928
|
+
- code: unprocessable_entity
|
|
929
|
+
message: The request could not be processed due to a semantic error.
|
|
930
|
+
mcpChildNotAllowed:
|
|
931
|
+
summary: connectionRole is mcpChild
|
|
932
|
+
value:
|
|
933
|
+
errors:
|
|
934
|
+
- code: mcp_child_generic_route_not_allowed
|
|
935
|
+
message: An mcpChild connection cannot be created, updated or deleted through the connections API, including the recurse and recycle bin routes.
|
|
936
|
+
endUserProvidedFieldParentOwned:
|
|
937
|
+
summary: endUserProvidedFields names a field the account owns
|
|
938
|
+
value:
|
|
939
|
+
errors:
|
|
940
|
+
- field: endUserProvidedFields
|
|
941
|
+
code: mcp_end_user_provided_field_not_allowed
|
|
942
|
+
message: type is managed by the account owner and cannot be requested from an end user.
|
|
943
|
+
concurrencyNotInteger:
|
|
944
|
+
summary: Decimal concurrency value
|
|
945
|
+
value:
|
|
946
|
+
errors:
|
|
947
|
+
- field: ftp.multiThreadCount
|
|
948
|
+
code: invalid_field_value
|
|
949
|
+
message: The field "ftp.multiThreadCount" must be a whole number (no decimals) between 1 and 50.
|
|
796
950
|
x-celigo-ai-guidance:
|
|
797
951
|
- |-
|
|
798
|
-
|
|
799
|
-
|
|
952
|
+
PUT replaces the document: GET it first, change what you need, and send the whole body
|
|
953
|
+
back with the real credential values (masked "******" values clear the stored secret).
|
|
954
|
+
To change only name, debug window, or concurrency settings without touching credentials,
|
|
955
|
+
use PATCH instead.
|
|
800
956
|
patch:
|
|
801
957
|
x-internal: false
|
|
802
958
|
summary: Patch a connection
|
|
@@ -817,16 +973,19 @@ paths:
|
|
|
817
973
|
| `/<adaptor>/targetConcurrencyLevel` | Ceiling auto-recovery climbs back to. Persists only while `autoRecoverRateLimitErrors` is true; while false the save unsets it |
|
|
818
974
|
| `/_borrowConcurrencyFromConnectionId` | Share another connection's concurrency budget. `remove` clears it |
|
|
819
975
|
| `/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 |
|
|
976
|
+
| `/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 |
|
|
820
977
|
|
|
821
978
|
`replace` and `add` both set the value (a currently unset field is fine);
|
|
822
979
|
`remove` unsets it. A `null` value is rejected. Any other path — including
|
|
823
|
-
`/
|
|
824
|
-
and `rateLimit` fields — fails with
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
980
|
+
`/connectionRole`, `/netsuite/concurrencyLevelRESTlet`,
|
|
981
|
+
`/netsuite/concurrencyLevelWebServices` and `rateLimit` fields — fails with
|
|
982
|
+
`<path> is not a whitelisted property`.
|
|
983
|
+
Concurrency values must be whole numbers (a decimal fails with 422
|
|
984
|
+
`invalid_field_value`); out-of-range integers are clamped into the account's
|
|
985
|
+
licensed range rather than rejected. A whitelisted path under an adaptor
|
|
986
|
+
block the connection does not use is accepted but never read. The
|
|
987
|
+
borrowed-from connection must exist in the account, may not itself borrow,
|
|
988
|
+
and a connection that others borrow from cannot start borrowing.
|
|
830
989
|
Settings-only changes are recorded in the connection's audit log.
|
|
831
990
|
operationId: patchConnection
|
|
832
991
|
tags:
|
|
@@ -883,6 +1042,13 @@ paths:
|
|
|
883
1042
|
value:
|
|
884
1043
|
- op: remove
|
|
885
1044
|
path: /_borrowConcurrencyFromConnectionId
|
|
1045
|
+
set_end_user_provided_fields:
|
|
1046
|
+
summary: Make MCP end users supply their own API key on this connection
|
|
1047
|
+
value:
|
|
1048
|
+
- op: replace
|
|
1049
|
+
path: /endUserProvidedFields
|
|
1050
|
+
value:
|
|
1051
|
+
- http.encrypted.apiKey
|
|
886
1052
|
responses:
|
|
887
1053
|
'204':
|
|
888
1054
|
description: Connection patched successfully
|
|
@@ -891,7 +1057,33 @@ paths:
|
|
|
891
1057
|
'404':
|
|
892
1058
|
$ref: '#/components/responses/404-not-found'
|
|
893
1059
|
'422':
|
|
894
|
-
|
|
1060
|
+
description: |-
|
|
1061
|
+
Patch rejected — a path outside the whitelist, a `null` value, a decimal concurrency
|
|
1062
|
+
value, or an `endUserProvidedFields` entry the account owns.
|
|
1063
|
+
content:
|
|
1064
|
+
application/json:
|
|
1065
|
+
schema:
|
|
1066
|
+
$ref: '#/components/schemas/Error'
|
|
1067
|
+
examples:
|
|
1068
|
+
nonWhitelisted:
|
|
1069
|
+
summary: Path is not patchable
|
|
1070
|
+
value:
|
|
1071
|
+
errors:
|
|
1072
|
+
- message: /connectionRole is not a whitelisted property
|
|
1073
|
+
concurrencyNotInteger:
|
|
1074
|
+
summary: Decimal concurrency value
|
|
1075
|
+
value:
|
|
1076
|
+
errors:
|
|
1077
|
+
- field: http.targetConcurrencyLevel
|
|
1078
|
+
code: invalid_field_value
|
|
1079
|
+
message: The field "http.targetConcurrencyLevel" must be a whole number (no decimals) between 1 and 50.
|
|
1080
|
+
endUserProvidedFieldParentOwned:
|
|
1081
|
+
summary: endUserProvidedFields names a field the account owns
|
|
1082
|
+
value:
|
|
1083
|
+
errors:
|
|
1084
|
+
- field: endUserProvidedFields
|
|
1085
|
+
code: mcp_end_user_provided_field_not_allowed
|
|
1086
|
+
message: _agentId is managed by the account owner and cannot be requested from an end user.
|
|
895
1087
|
delete:
|
|
896
1088
|
x-internal: false
|
|
897
1089
|
summary: Delete a connection
|
|
@@ -924,8 +1116,9 @@ paths:
|
|
|
924
1116
|
$ref: '#/components/responses/422-dependency-conflict'
|
|
925
1117
|
x-celigo-ai-guidance:
|
|
926
1118
|
- |-
|
|
927
|
-
|
|
928
|
-
|
|
1119
|
+
Soft-deletes the connection into the recycle bin (restorable for 30 days). Check
|
|
1120
|
+
`GET /v1/connections/{_id}/dependencies` first — a connection still referenced by flows,
|
|
1121
|
+
exports, or imports is rejected with 422.
|
|
929
1122
|
/v1/connections/{_id}/ping:
|
|
930
1123
|
get:
|
|
931
1124
|
x-internal: false
|
|
@@ -1410,6 +1603,96 @@ paths:
|
|
|
1410
1603
|
$ref: '#/components/responses/401-unauthorized'
|
|
1411
1604
|
'404':
|
|
1412
1605
|
$ref: '#/components/responses/404-not-found'
|
|
1606
|
+
/v1/connections/{_id}/debug/{typeId}:
|
|
1607
|
+
get:
|
|
1608
|
+
x-internal: false
|
|
1609
|
+
operationId: getConnectionDebugLogsForResource
|
|
1610
|
+
tags:
|
|
1611
|
+
- Connections
|
|
1612
|
+
summary: Fetch a connection's debug logs for one export or import
|
|
1613
|
+
description: |-
|
|
1614
|
+
Same buffered debug log stream as `GET /v1/connections/{_id}/debug`, narrowed to the
|
|
1615
|
+
request/response pairs recorded for a single export or import (`typeId`) that uses the
|
|
1616
|
+
connection. Use it instead of filtering the shared stream client-side when one flow step
|
|
1617
|
+
is under investigation. Capture is still gated by the connection's `debugDate`, so the
|
|
1618
|
+
stream is empty until debug logging is enabled.
|
|
1619
|
+
|
|
1620
|
+
`typeId` must be the id of an export or import in the account; an id that resolves to
|
|
1621
|
+
neither answers 404, and a value that is not an ObjectId answers 400.
|
|
1622
|
+
parameters:
|
|
1623
|
+
- name: _id
|
|
1624
|
+
in: path
|
|
1625
|
+
required: true
|
|
1626
|
+
description: The connection id.
|
|
1627
|
+
schema:
|
|
1628
|
+
type: string
|
|
1629
|
+
format: objectId
|
|
1630
|
+
x-celigo-refModel: connections
|
|
1631
|
+
- name: typeId
|
|
1632
|
+
in: path
|
|
1633
|
+
required: true
|
|
1634
|
+
description: Id of the export or import whose traffic through the connection to return.
|
|
1635
|
+
schema:
|
|
1636
|
+
type: string
|
|
1637
|
+
format: objectId
|
|
1638
|
+
responses:
|
|
1639
|
+
'200':
|
|
1640
|
+
description: Debug log stream (plain text) for the given export or import.
|
|
1641
|
+
content:
|
|
1642
|
+
text/plain:
|
|
1643
|
+
schema:
|
|
1644
|
+
type: string
|
|
1645
|
+
description: |-
|
|
1646
|
+
Newline-separated debug log entries in the same format as
|
|
1647
|
+
`GET /v1/connections/{_id}/debug`: a header line
|
|
1648
|
+
(`timestamp traceKey resourceType resourceId`) followed by a JSON payload line,
|
|
1649
|
+
entries separated by blank lines. Every entry's `resourceId` equals `typeId`.
|
|
1650
|
+
examples:
|
|
1651
|
+
default:
|
|
1652
|
+
value: |
|
|
1653
|
+
2026-04-19T03:44:06.673Z b45a75a5b72e4522972e55edf26de1c8 import 69e44eb7a749d34a975a4747
|
|
1654
|
+
{"url":"https://httpbin.org/post","method":"POST","body":"{\"id\":\"_id\"}","headers":{"X-None":"********","content-type":"application/json"},"requestIndex":0}
|
|
1655
|
+
|
|
1656
|
+
2026-04-19T03:44:06.774Z b45a75a5b72e4522972e55edf26de1c8 import 69e44eb7a749d34a975a4747
|
|
1657
|
+
{"headers":{"date":"Sun, 19 Apr 2026 03:44:06 GMT","content-type":"application/json"},"body":"{\"ok\":true}"}
|
|
1658
|
+
'204':
|
|
1659
|
+
description: |-
|
|
1660
|
+
No debug logs for this export or import — debug capture is off (no future `debugDate`),
|
|
1661
|
+
the step has not run through the connection since it was enabled, or the buffer was
|
|
1662
|
+
cleared.
|
|
1663
|
+
'400':
|
|
1664
|
+
description: '`typeId` is not a valid ObjectId.'
|
|
1665
|
+
content:
|
|
1666
|
+
application/json:
|
|
1667
|
+
schema:
|
|
1668
|
+
$ref: '#/components/schemas/Error'
|
|
1669
|
+
examples:
|
|
1670
|
+
invalidTypeId:
|
|
1671
|
+
value:
|
|
1672
|
+
errors:
|
|
1673
|
+
- code: invalid_ref
|
|
1674
|
+
message: Please provide a valid typeId.
|
|
1675
|
+
'401':
|
|
1676
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1677
|
+
'404':
|
|
1678
|
+
description: The connection, or the export/import named by `typeId`, does not exist in the account.
|
|
1679
|
+
content:
|
|
1680
|
+
application/json:
|
|
1681
|
+
schema:
|
|
1682
|
+
$ref: '#/components/schemas/Error'
|
|
1683
|
+
examples:
|
|
1684
|
+
connectionNotFound:
|
|
1685
|
+
summary: Unknown connection id
|
|
1686
|
+
value:
|
|
1687
|
+
errors:
|
|
1688
|
+
- code: invalid_ref
|
|
1689
|
+
message: Connection not found.
|
|
1690
|
+
resourceNotFound:
|
|
1691
|
+
summary: typeId is neither an export nor an import
|
|
1692
|
+
value:
|
|
1693
|
+
errors:
|
|
1694
|
+
- code: invalid_ref
|
|
1695
|
+
message: Export/Import not found.
|
|
1413
1696
|
/v1/connections/{_id}/metadata:
|
|
1414
1697
|
put:
|
|
1415
1698
|
x-internal: false
|
|
@@ -1708,7 +1991,8 @@ paths:
|
|
|
1708
1991
|
`authorizationUrl` response field serves both OAuth 2.0 and OAuth 1.0a connections (NetSuite
|
|
1709
1992
|
returns an OAuth 1.0a URL with an `oauth_token` parameter).
|
|
1710
1993
|
|
|
1711
|
-
|
|
1994
|
+
The resource segment is singular — `/v1/connection/{_id}/oauth2`; the plural form
|
|
1995
|
+
`/v1/connections/{_id}/oauth2` is an alias that answers identically. The URL's
|
|
1712
1996
|
`state` token is one-time and expires quickly, so request a fresh one if the flow is
|
|
1713
1997
|
interrupted, then poll `GET /v1/connections/{_id}` until `needsAuthorization` is `false`.
|
|
1714
1998
|
parameters:
|
|
@@ -1839,7 +2123,8 @@ paths:
|
|
|
1839
2123
|
few seconds. Only connections of type `netsuite` are accepted.
|
|
1840
2124
|
|
|
1841
2125
|
Use this instead of the connection's `netsuite.suiteAppInstalled`, which reflects only the
|
|
1842
|
-
SuiteApp as detected the last time the connection authenticated.
|
|
2126
|
+
SuiteApp as detected the last time the connection authenticated. For a single combined
|
|
2127
|
+
reachability result, or for a Salesforce connection, use `GET /v1/connections/{_id}/distributed`.
|
|
1843
2128
|
operationId: getConnectionDistributedApps
|
|
1844
2129
|
tags:
|
|
1845
2130
|
- Connections
|
|
@@ -1879,6 +2164,19 @@ paths:
|
|
|
1879
2164
|
success: true
|
|
1880
2165
|
suiteapp:
|
|
1881
2166
|
success: true
|
|
2167
|
+
neither_installed:
|
|
2168
|
+
summary: Neither component installed (NetSuite reports the RESTlets missing)
|
|
2169
|
+
value:
|
|
2170
|
+
bundle:
|
|
2171
|
+
success: false
|
|
2172
|
+
statusCode: 404
|
|
2173
|
+
resBody: That Suitelet is invalid, disabled, or no longer exists.
|
|
2174
|
+
URL: https://tstdrv1234567.app.netsuite.com/app/bundler/bundledetails.nl?sourcecompanyid=TSTDRV916910&domain=PRODUCTION&config=F&id=20038
|
|
2175
|
+
suiteapp:
|
|
2176
|
+
success: false
|
|
2177
|
+
statusCode: 404
|
|
2178
|
+
resBody: That Suitelet is invalid, disabled, or no longer exists.
|
|
2179
|
+
URL: https://tstdrv1234567.app.netsuite.com/suiteapp/ui/marketplace.nl?whence=#/app?id=com.celigo.integratorio
|
|
1882
2180
|
'401':
|
|
1883
2181
|
$ref: '#/components/responses/401-unauthorized'
|
|
1884
2182
|
'404':
|
|
@@ -1913,6 +2211,87 @@ paths:
|
|
|
1913
2211
|
- |-
|
|
1914
2212
|
A non-NetSuite connection answers 422 with the message "invalid connection type: <type>"
|
|
1915
2213
|
and no `code`; an unknown `_id` answers 404 `invalid_ref`.
|
|
2214
|
+
/v1/connections/{_id}/distributed:
|
|
2215
|
+
get:
|
|
2216
|
+
x-internal: false
|
|
2217
|
+
summary: Ping the distributed adaptor behind a connection
|
|
2218
|
+
description: |-
|
|
2219
|
+
Pings, live, the Celigo distributed adaptor installed in the account behind a `netsuite`
|
|
2220
|
+
or `salesforce` connection — the integrator.io bundle or SuiteApp RESTlet in NetSuite, the
|
|
2221
|
+
Celigo managed package in Salesforce — and reports one combined result. Round-trips to the
|
|
2222
|
+
remote system, so expect a few seconds. The distributed adaptor is what NetSuite real-time
|
|
2223
|
+
exports and `netsuite_da` imports, and Salesforce real-time exports, run through, so this
|
|
2224
|
+
is the check to run before building them.
|
|
2225
|
+
|
|
2226
|
+
Use `GET /v1/connections/{_id}/distributedApps` instead when you need the NetSuite bundle
|
|
2227
|
+
and SuiteApp reported separately; this endpoint is the only one of the two that also covers
|
|
2228
|
+
Salesforce. Any other connection type is rejected with 422.
|
|
2229
|
+
operationId: pingConnectionDistributedAdaptor
|
|
2230
|
+
tags:
|
|
2231
|
+
- Connections
|
|
2232
|
+
parameters:
|
|
2233
|
+
- in: path
|
|
2234
|
+
name: _id
|
|
2235
|
+
required: true
|
|
2236
|
+
schema:
|
|
2237
|
+
type: string
|
|
2238
|
+
format: objectId
|
|
2239
|
+
x-celigo-refModel: connections
|
|
2240
|
+
description: NetSuite or Salesforce connection to check.
|
|
2241
|
+
responses:
|
|
2242
|
+
'200':
|
|
2243
|
+
description: 'Ping result. `success: false` is still HTTP 200 — inspect the body.'
|
|
2244
|
+
content:
|
|
2245
|
+
application/json:
|
|
2246
|
+
schema:
|
|
2247
|
+
$ref: '#/components/schemas/DistributedAdaptorStatus'
|
|
2248
|
+
examples:
|
|
2249
|
+
installed:
|
|
2250
|
+
summary: Distributed adaptor reachable
|
|
2251
|
+
value:
|
|
2252
|
+
success: true
|
|
2253
|
+
netsuiteMissing:
|
|
2254
|
+
summary: NetSuite account without the Celigo bundle or SuiteApp
|
|
2255
|
+
value:
|
|
2256
|
+
success: false
|
|
2257
|
+
statusCode: 404
|
|
2258
|
+
resBody: That Suitelet is invalid, disabled, or no longer exists.
|
|
2259
|
+
bundleURL: https://tstdrv1234567.app.netsuite.com/app/bundler/bundledetails.nl?sourcecompanyid=TSTDRV916910&domain=PRODUCTION&config=F&id=20038
|
|
2260
|
+
salesforceOffline:
|
|
2261
|
+
summary: Salesforce connection that is offline
|
|
2262
|
+
value:
|
|
2263
|
+
success: false
|
|
2264
|
+
resBody: 'Connection is taken offline: expired access/refresh token'
|
|
2265
|
+
bundleURL: https://mycompany.my.salesforce.com/packaging/installPackage.apexp?p0=04t3m000000Q89d
|
|
2266
|
+
'401':
|
|
2267
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
2268
|
+
'404':
|
|
2269
|
+
description: No connection found for the given `_id`.
|
|
2270
|
+
content:
|
|
2271
|
+
application/json:
|
|
2272
|
+
schema:
|
|
2273
|
+
$ref: '#/components/schemas/Error'
|
|
2274
|
+
examples:
|
|
2275
|
+
invalid_ref:
|
|
2276
|
+
value:
|
|
2277
|
+
errors:
|
|
2278
|
+
- code: invalid_ref
|
|
2279
|
+
message: Connection not found for the given id.
|
|
2280
|
+
'422':
|
|
2281
|
+
description: The connection exists but is neither a NetSuite nor a Salesforce connection.
|
|
2282
|
+
content:
|
|
2283
|
+
application/json:
|
|
2284
|
+
schema:
|
|
2285
|
+
$ref: '#/components/schemas/Error'
|
|
2286
|
+
examples:
|
|
2287
|
+
invalid_connection_type:
|
|
2288
|
+
value:
|
|
2289
|
+
errors:
|
|
2290
|
+
- message: 'invalid connection type: http'
|
|
2291
|
+
x-celigo-ai-guidance:
|
|
2292
|
+
- |-
|
|
2293
|
+
A non-NetSuite, non-Salesforce connection answers 422 with the message "invalid
|
|
2294
|
+
connection type: <type>" and no `code`; an unknown `_id` answers 404 `invalid_ref`.
|
|
1916
2295
|
/v1/salesforce/metadata/connections/{_id}/sObjectTypes:
|
|
1917
2296
|
get:
|
|
1918
2297
|
x-internal: false
|
|
@@ -2823,11 +3202,75 @@ components:
|
|
|
2823
3202
|
readOnly: true
|
|
2824
3203
|
examples:
|
|
2825
3204
|
- 5f29dbc69e8a0f0e29a491b7
|
|
3205
|
+
connectionRole:
|
|
3206
|
+
type: string
|
|
3207
|
+
enum:
|
|
3208
|
+
- standard
|
|
3209
|
+
- mcpChild
|
|
3210
|
+
x-enumDescriptions:
|
|
3211
|
+
standard: An ordinary account-owned connection, created and edited through this API
|
|
3212
|
+
mcpChild: An MCP end user's private credential copy of a parent connection, created by the end-user setup page
|
|
3213
|
+
readOnly: true
|
|
3214
|
+
description: |-
|
|
3215
|
+
Distinguishes account-owned connections from the per-end-user credential copies
|
|
3216
|
+
MCP servers collect. Absent on connections last saved before the field existed,
|
|
3217
|
+
which behave as `standard`. Sending `mcpChild` on `POST` or `PUT /v1/connections`
|
|
3218
|
+
fails with 422 `mcp_child_generic_route_not_allowed`, and `/connectionRole` is not a
|
|
3219
|
+
patchable path; child connections are written only by the MCP end-user setup page,
|
|
3220
|
+
never through `/v1`.
|
|
3221
|
+
examples:
|
|
3222
|
+
- standard
|
|
3223
|
+
endUserProvidedFields:
|
|
3224
|
+
type: array
|
|
3225
|
+
items:
|
|
3226
|
+
type: string
|
|
3227
|
+
description: |-
|
|
3228
|
+
Dot-paths of this connection's fields (for example `http.encrypted.apiKey` or
|
|
3229
|
+
`rdbms.user`) that each MCP end user must supply on their own `mcpChild` copy instead
|
|
3230
|
+
of inheriting the parent's value. Only returned on a `standard` connection that has
|
|
3231
|
+
paths set; never returned on a child. Writable through `POST`, `PUT`, and `PATCH`.
|
|
3232
|
+
examples:
|
|
3233
|
+
- - http.encrypted.apiKey
|
|
3234
|
+
- http.unencrypted.accountId
|
|
3235
|
+
_parentConnectionId:
|
|
3236
|
+
type: string
|
|
3237
|
+
format: objectId
|
|
3238
|
+
x-celigo-refModel: connections
|
|
3239
|
+
readOnly: true
|
|
3240
|
+
description: |-
|
|
3241
|
+
Parent connection this child copies its non-credential configuration from. Present
|
|
3242
|
+
only when `connectionRole` is `mcpChild`; set by the end-user setup page and ignored
|
|
3243
|
+
when sent on a standard connection.
|
|
3244
|
+
examples:
|
|
3245
|
+
- 615dfa0742763671275b70ab
|
|
3246
|
+
_mcpOwnerId:
|
|
3247
|
+
type: string
|
|
3248
|
+
format: objectId
|
|
3249
|
+
x-celigo-refModel: users
|
|
3250
|
+
readOnly: true
|
|
3251
|
+
description: |-
|
|
3252
|
+
Account owner whose parent connection and MCP servers this child belongs to. Present
|
|
3253
|
+
only when `connectionRole` is `mcpChild`; on a child, `_userId` is the end user and
|
|
3254
|
+
this field is the account.
|
|
3255
|
+
examples:
|
|
3256
|
+
- 5d2e1f0a9b8c7d6e5f4a3b2c
|
|
3257
|
+
_parentSyncedAt:
|
|
3258
|
+
type: string
|
|
3259
|
+
format: date-time
|
|
3260
|
+
readOnly: true
|
|
3261
|
+
description: |-
|
|
3262
|
+
Timestamp when the child's non-credential fields were last synced from the parent
|
|
3263
|
+
connection. Present only when `connectionRole` is `mcpChild`.
|
|
3264
|
+
examples:
|
|
3265
|
+
- '2026-09-15T18:42:10.331Z'
|
|
2826
3266
|
_userId:
|
|
2827
3267
|
type: string
|
|
2828
3268
|
format: objectId
|
|
2829
3269
|
x-celigo-refModel: users
|
|
2830
|
-
description:
|
|
3270
|
+
description: |-
|
|
3271
|
+
End user who owns this `mcpChild` connection's credentials. Present only when
|
|
3272
|
+
`connectionRole` is `mcpChild`; a standard connection belongs to the account and
|
|
3273
|
+
omits this field.
|
|
2831
3274
|
readOnly: true
|
|
2832
3275
|
examples:
|
|
2833
3276
|
- 5d2e1f0a9b8c7d6e5f4a3b2c
|
|
@@ -3101,7 +3544,7 @@ components:
|
|
|
3101
3544
|
NetSuite application ID from the integration record.
|
|
3102
3545
|
Required for some authentication configurations to identify the calling application.
|
|
3103
3546
|
concurrencyLevel:
|
|
3104
|
-
type:
|
|
3547
|
+
type: integer
|
|
3105
3548
|
description: |
|
|
3106
3549
|
General concurrency level for this connection. Controls the overall
|
|
3107
3550
|
maximum concurrent requests across all operation types.
|
|
@@ -3110,7 +3553,7 @@ components:
|
|
|
3110
3553
|
maximum: 50
|
|
3111
3554
|
default: 5
|
|
3112
3555
|
targetConcurrencyLevel:
|
|
3113
|
-
type:
|
|
3556
|
+
type: integer
|
|
3114
3557
|
description: |
|
|
3115
3558
|
Target concurrency level for auto-scaling. The system adjusts concurrency
|
|
3116
3559
|
between 1 and this value based on rate limit and governance feedback.
|
|
@@ -3254,7 +3697,7 @@ components:
|
|
|
3254
3697
|
- 'Never set or repair this field to fix an authentication failure: an empty or absent list is the normal stored state, and UI saves reset API-written values.'
|
|
3255
3698
|
- For a custom Connected App (`salesforce._iClientId` set), requested scopes are configured on the iClient's `oauth2.scope` and constrained by the Connected App inside Salesforce — not on the connection.
|
|
3256
3699
|
concurrencyLevel:
|
|
3257
|
-
type:
|
|
3700
|
+
type: integer
|
|
3258
3701
|
description: |-
|
|
3259
3702
|
Maximum number of concurrent API requests to Salesforce. Salesforce enforces per-org API
|
|
3260
3703
|
request limits, so setting this high consumes the org's API call allocation faster. Values
|
|
@@ -3264,7 +3707,7 @@ components:
|
|
|
3264
3707
|
maximum: 50
|
|
3265
3708
|
default: 5
|
|
3266
3709
|
targetConcurrencyLevel:
|
|
3267
|
-
type:
|
|
3710
|
+
type: integer
|
|
3268
3711
|
description: |-
|
|
3269
3712
|
Upper bound for auto-scaling concurrency. When automatic rate-limit recovery is enabled, the
|
|
3270
3713
|
system adjusts concurrency between 1 and this value based on rate-limit feedback from
|
|
@@ -3427,19 +3870,24 @@ components:
|
|
|
3427
3870
|
examples:
|
|
3428
3871
|
- 66a1b2c3d4e5f60718293a4b
|
|
3429
3872
|
concurrencyLevel:
|
|
3430
|
-
type:
|
|
3873
|
+
type: integer
|
|
3431
3874
|
description: |
|
|
3432
3875
|
Maximum number of concurrent file transfer operations.
|
|
3433
3876
|
FTP servers often have low connection limits — keep this value conservative.
|
|
3434
3877
|
Values above the account's licensed maximum (25 standard, 50 with an Environments license) are silently clamped down.
|
|
3878
|
+
Unlike the rest of the `ftp` object, a `PUT` that omits this field keeps the stored value instead of clearing it.
|
|
3435
3879
|
minimum: 1
|
|
3436
3880
|
maximum: 50
|
|
3437
3881
|
default: 1
|
|
3882
|
+
examples:
|
|
3883
|
+
- 3
|
|
3438
3884
|
targetConcurrencyLevel:
|
|
3439
|
-
type:
|
|
3885
|
+
type: integer
|
|
3440
3886
|
description: |
|
|
3441
3887
|
Target concurrency level for auto-scaling. The system adjusts concurrency
|
|
3442
3888
|
between 1 and this value based on server response feedback.
|
|
3889
|
+
Kept on a `PUT` that omits it, like `concurrencyLevel`; unset by the save while
|
|
3890
|
+
`autoRecoverRateLimitErrors` is false.
|
|
3443
3891
|
minimum: 1
|
|
3444
3892
|
maximum: 50
|
|
3445
3893
|
examples:
|
|
@@ -3454,7 +3902,8 @@ components:
|
|
|
3454
3902
|
save the value is mirrored into `userConcurrencyLevel` (and into
|
|
3455
3903
|
`userTargetConcurrencyLevel` when auto-recovery of rate-limit errors
|
|
3456
3904
|
is active with `targetConcurrencyLevel` set); clearing it clears the
|
|
3457
|
-
mirrors.
|
|
3905
|
+
mirrors. Not preserved across a `PUT` — re-send it with the rest of
|
|
3906
|
+
the `ftp` object or it is cleared.
|
|
3458
3907
|
examples:
|
|
3459
3908
|
- 2
|
|
3460
3909
|
userConcurrencyLevel:
|
|
@@ -3544,7 +3993,7 @@ components:
|
|
|
3544
3993
|
examples:
|
|
3545
3994
|
- my-data-lake
|
|
3546
3995
|
concurrencyLevel:
|
|
3547
|
-
type:
|
|
3996
|
+
type: integer
|
|
3548
3997
|
description: |-
|
|
3549
3998
|
Maximum number of concurrent S3 operations. Applies when `autoRecoverRateLimitErrors` is
|
|
3550
3999
|
false; when auto-recover is on (the default) concurrency auto-scales up to
|
|
@@ -3554,7 +4003,7 @@ components:
|
|
|
3554
4003
|
maximum: 50
|
|
3555
4004
|
default: 5
|
|
3556
4005
|
targetConcurrencyLevel:
|
|
3557
|
-
type:
|
|
4006
|
+
type: integer
|
|
3558
4007
|
description: |-
|
|
3559
4008
|
Upper bound for auto-scaled concurrency when `autoRecoverRateLimitErrors` is true (the
|
|
3560
4009
|
default). The system raises and lowers concurrency between 1 and this value based on
|
|
@@ -4042,7 +4491,7 @@ components:
|
|
|
4042
4491
|
"Amazon-Hybrid", populate unencrypted.marketplaceId ("ATVPDKIKX0DER") and
|
|
4043
4492
|
unencrypted.sellingRegion ("northAmerica"), and let the user finish the connection in the
|
|
4044
4493
|
Celigo UI. Omitting either field fails the POST with 422 "Expected field: marketplaceId to be present".
|
|
4045
|
-
x-celigo-ui-override: The auth.type conditional below encodes the connection form's credential requireds. Most are also API-enforced; the form-only additions (the API creates the connection without them, or accepts a weaker rule) are auth.basic.password (the API accepts a username alone), auth.token.location, auth.token.headerName (wsse), auth.cookie.method, auth.cookie.body, and _iClientId (oauth) — each flagged on its own field.
|
|
4494
|
+
x-celigo-ui-override: The auth.type conditional below encodes the connection form's credential requireds. Most are also API-enforced; the form-only additions (the API creates the connection without them, or accepts a weaker rule) are auth.basic.password (the API accepts a username alone), auth.token.location, auth.token.headerName (wsse), auth.cookie.method, auth.cookie.body, and _iClientId (oauth) — each flagged on its own field. _iClientId for awsiam is both form- and API-required.
|
|
4046
4495
|
required:
|
|
4047
4496
|
- baseURI
|
|
4048
4497
|
- mediaType
|
|
@@ -4129,19 +4578,23 @@ components:
|
|
|
4129
4578
|
NEVER disable in production — it removes protection against man-in-the-middle attacks.
|
|
4130
4579
|
default: false
|
|
4131
4580
|
concurrencyLevel:
|
|
4132
|
-
type:
|
|
4581
|
+
type: integer
|
|
4133
4582
|
description: |
|
|
4134
4583
|
Maximum number of concurrent HTTP requests this connection can make simultaneously.
|
|
4135
4584
|
|
|
4136
4585
|
Higher values increase throughput but may trigger API rate limits.
|
|
4137
4586
|
Set this based on the target API's rate limit documentation.
|
|
4138
|
-
Values above the account's licensed maximum (25 standard, 50 with an Environments license) are silently clamped down
|
|
4587
|
+
Values above the account's licensed maximum (25 standard, 50 with an Environments license) are silently clamped down,
|
|
4588
|
+
but a decimal is rejected with 422 `invalid_field_value` on every write (the same rule applies to every
|
|
4589
|
+
adaptor's `concurrencyLevel` and `targetConcurrencyLevel`, and to `ftp.multiThreadCount`).
|
|
4139
4590
|
Platform-managed while `autoRecoverRateLimitErrors` is true — a PUT ignores the value and the recovery machinery moves it toward the target; set `targetConcurrencyLevel` instead.
|
|
4140
4591
|
minimum: 1
|
|
4141
4592
|
maximum: 50
|
|
4142
4593
|
default: 25
|
|
4594
|
+
examples:
|
|
4595
|
+
- 10
|
|
4143
4596
|
targetConcurrencyLevel:
|
|
4144
|
-
type:
|
|
4597
|
+
type: integer
|
|
4145
4598
|
description: |
|
|
4146
4599
|
Ceiling the platform climbs back to after rate-limit recovery, in steps of 25% of this value.
|
|
4147
4600
|
Writing it also sets `concurrencyLevel` to the same value and stops any recovery in progress.
|
|
@@ -4360,10 +4813,12 @@ components:
|
|
|
4360
4813
|
x-lowercase: true
|
|
4361
4814
|
x-celigo-ai-guidance:
|
|
4362
4815
|
- |-
|
|
4363
|
-
When type is "awsiam", the connection must also carry
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4816
|
+
When type is "awsiam", the connection must also carry http._iClientId pointing at
|
|
4817
|
+
an iClient with provider "awsIam" that belongs to the same account and has
|
|
4818
|
+
awsIam.roleArn whose role name starts with "celigo-http-adaptor-"; the save fails
|
|
4819
|
+
with 422 (missing_required_field, invalid_field, invalid_field_value, or invalid_ref
|
|
4820
|
+
respectively) when any of these is off. The signing credentials live on the iClient,
|
|
4821
|
+
not on the connection.
|
|
4367
4822
|
examples:
|
|
4368
4823
|
- token
|
|
4369
4824
|
failStatusCode:
|
|
@@ -5009,28 +5464,64 @@ components:
|
|
|
5009
5464
|
type: string
|
|
5010
5465
|
format: objectId
|
|
5011
5466
|
x-celigo-refModel: iclients
|
|
5012
|
-
description:
|
|
5467
|
+
description: |-
|
|
5468
|
+
iClient that holds the credentials this connection signs with: the OAuth 2.0 client for
|
|
5469
|
+
`auth.type` `oauth` (including the `azureserviceprincipal` service principal an Azure
|
|
5470
|
+
Data Lake Storage Gen2 connection authenticates with and the `googleserviceaccount` key
|
|
5471
|
+
a Google Cloud Storage connection uses), or the `awsIam` role for `auth.type` `awsiam`.
|
|
5472
|
+
Must belong to the same account as the connection. Omit for every other auth type.
|
|
5013
5473
|
examples:
|
|
5014
5474
|
- 6203a7e4f321d800129a1b8e
|
|
5015
|
-
x-celigo-ui-override: Required by the connection form for oauth (
|
|
5475
|
+
x-celigo-ui-override: 'Required by the connection form for oauth (subForms/httpOAuth.js: required true, iClient filter provider custom_oauth2, or googleserviceaccount / azureserviceprincipal for the GCS and ADLS Gen2 variants) and for awsIam (subForms/httpAwsIam.js: required true, filter provider awsIam). For oauth the API creates the connection without it and the authorization is completed afterward; for awsiam the API also rejects its absence (see the if/then rule on this schema).'
|
|
5476
|
+
x-celigo-ai-guidance:
|
|
5477
|
+
- |-
|
|
5478
|
+
For auth.type "awsiam" the referenced iClient must have provider "awsIam" (any other
|
|
5479
|
+
provider → 422 invalid_field "IClient provider must be awsIam for HTTP IAM Role
|
|
5480
|
+
authentication."), must carry awsIam.roleArn (missing → 422 missing_required_field
|
|
5481
|
+
"Expected field: awsIam.roleArn to be present."), and its role name must start with
|
|
5482
|
+
"celigo-http-adaptor-" (otherwise → 422 invalid_field_value). Omitting _iClientId
|
|
5483
|
+
altogether → 422 missing_required_field "Expected field: _iClientId to be present."
|
|
5484
|
+
- |-
|
|
5485
|
+
An Azure Data Lake Storage Gen2 connection (assistant "azuredatalakestoragegen2", or any
|
|
5486
|
+
http.baseURI containing "dfs.core.windows.net") must reference an iClient with provider
|
|
5487
|
+
"azureserviceprincipal"; any other provider fails the save with 422 invalid_field
|
|
5488
|
+
"IClient provider must be azureserviceprincipal for Azure Data Lake Storage Gen2
|
|
5489
|
+
connections."
|
|
5490
|
+
- |-
|
|
5491
|
+
The iClient must belong to the same account as the connection — an iClient id from
|
|
5492
|
+
another account fails with 422 invalid_ref "The referenced IClient must belong to the
|
|
5493
|
+
same user."
|
|
5016
5494
|
_httpConnectorId:
|
|
5017
5495
|
type: string
|
|
5018
5496
|
format: objectId
|
|
5019
5497
|
x-celigo-refModel: httpconnectors
|
|
5020
|
-
description:
|
|
5498
|
+
description: |-
|
|
5499
|
+
HTTP connector (pre-built application template) this connection is linked to. Linking
|
|
5500
|
+
lets exports and imports on the connection pick endpoints from the connector's catalog and
|
|
5501
|
+
drives the `assistant` form in the UI. An id that does not resolve to an accessible
|
|
5502
|
+
connector is dropped from the saved document rather than rejected — read the response back
|
|
5503
|
+
to confirm the link took.
|
|
5021
5504
|
examples:
|
|
5022
5505
|
- 5d8f6a2b9c1e4f00112a3b4c
|
|
5023
5506
|
_httpConnectorApiId:
|
|
5024
5507
|
type: string
|
|
5025
5508
|
format: objectId
|
|
5026
5509
|
x-celigo-refModel: httpconnectorapis
|
|
5027
|
-
description:
|
|
5510
|
+
description: |-
|
|
5511
|
+
API within the linked HTTP connector that this connection targets, for connectors that
|
|
5512
|
+
publish more than one API. Only meaningful together with `_httpConnectorId`; an id that is
|
|
5513
|
+
not one of that connector's APIs is dropped on save, not rejected.
|
|
5028
5514
|
examples:
|
|
5029
5515
|
- 5d8f6a2b9c1e4f00112a3b4d
|
|
5030
5516
|
_httpConnectorVersionId:
|
|
5031
5517
|
type: string
|
|
5032
5518
|
format: objectId
|
|
5033
|
-
description:
|
|
5519
|
+
description: |-
|
|
5520
|
+
Version entry of the linked HTTP connector (an item of the connector's `versions` array)
|
|
5521
|
+
whose endpoint definitions this connection uses. Only meaningful together with
|
|
5522
|
+
`_httpConnectorId`; an id that is not one of that connector's published versions is
|
|
5523
|
+
replaced by a published version of the connector on create and dropped on update, never
|
|
5524
|
+
rejected.
|
|
5034
5525
|
examples:
|
|
5035
5526
|
- 5d8f6a2b9c1e4f00112a3b4e
|
|
5036
5527
|
isRest:
|
|
@@ -5056,6 +5547,20 @@ components:
|
|
|
5056
5547
|
required:
|
|
5057
5548
|
- marketplaceId
|
|
5058
5549
|
- sellingRegion
|
|
5550
|
+
else:
|
|
5551
|
+
if:
|
|
5552
|
+
properties:
|
|
5553
|
+
auth:
|
|
5554
|
+
properties:
|
|
5555
|
+
type:
|
|
5556
|
+
const: awsiam
|
|
5557
|
+
required:
|
|
5558
|
+
- type
|
|
5559
|
+
required:
|
|
5560
|
+
- auth
|
|
5561
|
+
then:
|
|
5562
|
+
required:
|
|
5563
|
+
- _iClientId
|
|
5059
5564
|
RDBMS:
|
|
5060
5565
|
type: object
|
|
5061
5566
|
description: |-
|
|
@@ -5258,7 +5763,7 @@ components:
|
|
|
5258
5763
|
examples:
|
|
5259
5764
|
- dedicated
|
|
5260
5765
|
concurrencyLevel:
|
|
5261
|
-
type:
|
|
5766
|
+
type: integer
|
|
5262
5767
|
description: |
|
|
5263
5768
|
Maximum number of concurrent database connections.
|
|
5264
5769
|
Set based on the database server's connection limit and available resources.
|
|
@@ -5267,7 +5772,7 @@ components:
|
|
|
5267
5772
|
maximum: 50
|
|
5268
5773
|
default: 5
|
|
5269
5774
|
targetConcurrencyLevel:
|
|
5270
|
-
type:
|
|
5775
|
+
type: integer
|
|
5271
5776
|
description: |
|
|
5272
5777
|
Target concurrency level for auto-scaling. The system adjusts the number of
|
|
5273
5778
|
concurrent connections between 1 and this value based on performance feedback.
|
|
@@ -5800,7 +6305,7 @@ components:
|
|
|
5800
6305
|
examples:
|
|
5801
6306
|
- admin
|
|
5802
6307
|
concurrencyLevel:
|
|
5803
|
-
type:
|
|
6308
|
+
type: integer
|
|
5804
6309
|
description: |
|
|
5805
6310
|
Maximum number of concurrent MongoDB operations.
|
|
5806
6311
|
Values above the account's licensed maximum (25 standard, 50 with an Environments license) are silently clamped down.
|
|
@@ -5808,7 +6313,7 @@ components:
|
|
|
5808
6313
|
maximum: 50
|
|
5809
6314
|
default: 5
|
|
5810
6315
|
targetConcurrencyLevel:
|
|
5811
|
-
type:
|
|
6316
|
+
type: integer
|
|
5812
6317
|
description: |
|
|
5813
6318
|
Target concurrency level for auto-scaling. The system adjusts concurrency
|
|
5814
6319
|
between 1 and this value based on rate limit feedback.
|
|
@@ -6361,7 +6866,7 @@ components:
|
|
|
6361
6866
|
Required when signing or encryption is enabled (not NONE).
|
|
6362
6867
|
Auto-generated self-signed certificates will be injected if not provided.
|
|
6363
6868
|
concurrencyLevel:
|
|
6364
|
-
type:
|
|
6869
|
+
type: integer
|
|
6365
6870
|
description: |-
|
|
6366
6871
|
Maximum number of messages processed concurrently for this connection. The default of 5
|
|
6367
6872
|
is safe for most partners. Values above the account's licensed maximum (25 standard, 50
|
|
@@ -6370,7 +6875,7 @@ components:
|
|
|
6370
6875
|
maximum: 50
|
|
6371
6876
|
default: 5
|
|
6372
6877
|
targetConcurrencyLevel:
|
|
6373
|
-
type:
|
|
6878
|
+
type: integer
|
|
6374
6879
|
description: |-
|
|
6375
6880
|
Concurrency ceiling integrator.io scales up to when auto-recovering from rate-limit
|
|
6376
6881
|
errors. Only applies when autoRecoverRateLimitErrors is true on the connection.
|
|
@@ -6410,7 +6915,7 @@ components:
|
|
|
6410
6915
|
The system verifies the directory exists and is accessible.
|
|
6411
6916
|
Example: "/data/integrations/incoming" or "C:\\Data\\Integrations".
|
|
6412
6917
|
concurrencyLevel:
|
|
6413
|
-
type:
|
|
6918
|
+
type: integer
|
|
6414
6919
|
description: |-
|
|
6415
6920
|
Maximum number of files processed concurrently. Cannot exceed `targetConcurrencyLevel`; a higher
|
|
6416
6921
|
value is silently clamped down to it. Values above the account's licensed maximum (25 standard,
|
|
@@ -6419,7 +6924,7 @@ components:
|
|
|
6419
6924
|
maximum: 50
|
|
6420
6925
|
default: 1
|
|
6421
6926
|
targetConcurrencyLevel:
|
|
6422
|
-
type:
|
|
6927
|
+
type: integer
|
|
6423
6928
|
description: |-
|
|
6424
6929
|
Upper bound for auto-scaling. The agent scales concurrency between 1 and this value based on
|
|
6425
6930
|
throughput, so it also caps `concurrencyLevel`. Values above the account's licensed maximum
|
|
@@ -6863,7 +7368,7 @@ components:
|
|
|
6863
7368
|
examples:
|
|
6864
7369
|
- wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
|
|
6865
7370
|
concurrencyLevel:
|
|
6866
|
-
type:
|
|
7371
|
+
type: integer
|
|
6867
7372
|
description: |-
|
|
6868
7373
|
Maximum number of DynamoDB requests this connection runs at once.
|
|
6869
7374
|
|
|
@@ -6877,7 +7382,7 @@ components:
|
|
|
6877
7382
|
Maximum number of concurrent DynamoDB operations.
|
|
6878
7383
|
DynamoDB throughput is governed by table-level read/write capacity units.
|
|
6879
7384
|
targetConcurrencyLevel:
|
|
6880
|
-
type:
|
|
7385
|
+
type: integer
|
|
6881
7386
|
description: |-
|
|
6882
7387
|
Concurrency ceiling for auto-scaling. The system adjusts the active concurrency between 1
|
|
6883
7388
|
and this value based on rate-limit feedback. Only applied when `autoRecoverRateLimitErrors`
|
|
@@ -7037,7 +7542,7 @@ components:
|
|
|
7037
7542
|
- name: ServerDataSource
|
|
7038
7543
|
value: NetSuite2.com
|
|
7039
7544
|
concurrencyLevel:
|
|
7040
|
-
type:
|
|
7545
|
+
type: integer
|
|
7041
7546
|
description: |
|
|
7042
7547
|
Maximum number of concurrent database connections.
|
|
7043
7548
|
JDBC connections often run through a single Agent, so keep this value
|
|
@@ -7049,7 +7554,7 @@ components:
|
|
|
7049
7554
|
examples:
|
|
7050
7555
|
- 5
|
|
7051
7556
|
targetConcurrencyLevel:
|
|
7052
|
-
type:
|
|
7557
|
+
type: integer
|
|
7053
7558
|
description: |
|
|
7054
7559
|
Target concurrency level for auto-scaling. The system adjusts the number of
|
|
7055
7560
|
concurrent connections between 1 and this value based on performance feedback.
|
|
@@ -7345,7 +7850,7 @@ components:
|
|
|
7345
7850
|
examples:
|
|
7346
7851
|
- 566686c4d0b969657e7850ba
|
|
7347
7852
|
concurrencyLevel:
|
|
7348
|
-
type:
|
|
7853
|
+
type: integer
|
|
7349
7854
|
description: |
|
|
7350
7855
|
Maximum number of concurrent operations through this wrapper connection.
|
|
7351
7856
|
Values above the account's licensed maximum (25 standard, 50 with an Environments license) are silently clamped down.
|
|
@@ -7353,7 +7858,7 @@ components:
|
|
|
7353
7858
|
maximum: 50
|
|
7354
7859
|
default: 5
|
|
7355
7860
|
targetConcurrencyLevel:
|
|
7356
|
-
type:
|
|
7861
|
+
type: integer
|
|
7357
7862
|
description: |
|
|
7358
7863
|
Target concurrency level for auto-scaling. The system adjusts concurrency
|
|
7359
7864
|
between 1 and this value based on performance feedback.
|
|
@@ -7770,6 +8275,31 @@ components:
|
|
|
7770
8275
|
__failedIntegrationRegistrations with code not_allowed.
|
|
7771
8276
|
examples:
|
|
7772
8277
|
- - 6a55be91d16ee8270022893e
|
|
8278
|
+
endUserProvidedFields:
|
|
8279
|
+
type:
|
|
8280
|
+
- array
|
|
8281
|
+
- 'null'
|
|
8282
|
+
items:
|
|
8283
|
+
type: string
|
|
8284
|
+
description: |-
|
|
8285
|
+
Dot-paths of this connection's fields (for example `http.encrypted.apiKey` or
|
|
8286
|
+
`rdbms.user`) that each MCP end user must supply on their own `mcpChild` copy instead of
|
|
8287
|
+
inheriting the parent's value. Set it on the parent connection an MCP server collects
|
|
8288
|
+
end-user credentials for; omit it everywhere else. Omitting it (or sending `[]`) on
|
|
8289
|
+
`PUT` keeps the stored paths; send `null` to clear them.
|
|
8290
|
+
x-celigo-ai-guidance:
|
|
8291
|
+
- |-
|
|
8292
|
+
List only the credential and tenant fields that differ per end user, never a path the
|
|
8293
|
+
account owns: `type`, `_agentId`, `wrapper._stackId`, or any `<adaptor>._iClientId`
|
|
8294
|
+
(e.g. `http._iClientId`) fails the save with 422
|
|
8295
|
+
`mcp_end_user_provided_field_not_allowed`.
|
|
8296
|
+
- |-
|
|
8297
|
+
This is the only MCP end-user field writable through `/v1/connections`; the child
|
|
8298
|
+
connections themselves are created by the end-user setup page, and `connectionRole:
|
|
8299
|
+
mcpChild` in a `POST` or `PUT` body fails with 422 `mcp_child_generic_route_not_allowed`.
|
|
8300
|
+
examples:
|
|
8301
|
+
- - http.encrypted.apiKey
|
|
8302
|
+
- http.unencrypted.accountId
|
|
7773
8303
|
debugDate:
|
|
7774
8304
|
type: string
|
|
7775
8305
|
format: date-time
|
|
@@ -8490,6 +9020,13 @@ components:
|
|
|
8490
9020
|
description: Display name of the dependent resource.
|
|
8491
9021
|
examples:
|
|
8492
9022
|
- Import Orders to NetSuite
|
|
9023
|
+
type:
|
|
9024
|
+
type: string
|
|
9025
|
+
description: |-
|
|
9026
|
+
Sub-type of the dependent resource when its collection distinguishes one, such as
|
|
9027
|
+
`stream` for a listener export. Only present for resource types that carry a `type`.
|
|
9028
|
+
examples:
|
|
9029
|
+
- stream
|
|
8493
9030
|
paths:
|
|
8494
9031
|
type: array
|
|
8495
9032
|
description: |-
|
|
@@ -8559,12 +9096,63 @@ components:
|
|
|
8559
9096
|
properties:
|
|
8560
9097
|
success:
|
|
8561
9098
|
type: boolean
|
|
8562
|
-
description: When true, the component is installed in the connected NetSuite account.
|
|
9099
|
+
description: When true, the component is installed in the connected NetSuite account. The remaining fields are present only when false.
|
|
9100
|
+
examples:
|
|
9101
|
+
- true
|
|
9102
|
+
statusCode:
|
|
9103
|
+
type: integer
|
|
9104
|
+
description: HTTP status NetSuite returned for the failed check — 404 when the component's RESTlet is not installed.
|
|
9105
|
+
examples:
|
|
9106
|
+
- 404
|
|
9107
|
+
resBody:
|
|
9108
|
+
type: string
|
|
9109
|
+
description: NetSuite's error text for the failed check.
|
|
9110
|
+
examples:
|
|
9111
|
+
- That Suitelet is invalid, disabled, or no longer exists.
|
|
8563
9112
|
URL:
|
|
8564
9113
|
type: string
|
|
9114
|
+
format: uri
|
|
8565
9115
|
description: |-
|
|
8566
9116
|
Install link for the component. Absent when `success` is true; the integrator.io UI
|
|
8567
9117
|
reads it to render its install prompt when the component is missing.
|
|
9118
|
+
examples:
|
|
9119
|
+
- https://tstdrv1234567.app.netsuite.com/suiteapp/ui/marketplace.nl?whence=#/app?id=com.celigo.integratorio
|
|
9120
|
+
DistributedAdaptorStatus:
|
|
9121
|
+
type: object
|
|
9122
|
+
required:
|
|
9123
|
+
- success
|
|
9124
|
+
description: Result of pinging the Celigo distributed adaptor installed in the connected account.
|
|
9125
|
+
properties:
|
|
9126
|
+
success:
|
|
9127
|
+
type: boolean
|
|
9128
|
+
description: |-
|
|
9129
|
+
When true, the Celigo distributed adaptor (the integrator.io bundle or SuiteApp in
|
|
9130
|
+
NetSuite, the Celigo managed package in Salesforce) answered the ping and the
|
|
9131
|
+
connection can run distributed exports and imports. The remaining fields are present
|
|
9132
|
+
only when false.
|
|
9133
|
+
examples:
|
|
9134
|
+
- true
|
|
9135
|
+
statusCode:
|
|
9136
|
+
type: integer
|
|
9137
|
+
description: |-
|
|
9138
|
+
HTTP status the remote system returned for the failed ping — for example 404 when
|
|
9139
|
+
NetSuite reports the Celigo RESTlet is not installed. Absent when the failure did not
|
|
9140
|
+
reach the remote system (for example, a connection that is offline).
|
|
9141
|
+
examples:
|
|
9142
|
+
- 404
|
|
9143
|
+
resBody:
|
|
9144
|
+
type: string
|
|
9145
|
+
description: Remote system's error text, or the platform's reason when the ping was not attempted.
|
|
9146
|
+
examples:
|
|
9147
|
+
- That Suitelet is invalid, disabled, or no longer exists.
|
|
9148
|
+
bundleURL:
|
|
9149
|
+
type: string
|
|
9150
|
+
format: uri
|
|
9151
|
+
description: |-
|
|
9152
|
+
Install link for the missing component in the connected account — the NetSuite bundle
|
|
9153
|
+
details page, or the Salesforce package installer — for the UI's install prompt.
|
|
9154
|
+
examples:
|
|
9155
|
+
- https://tstdrv1234567.app.netsuite.com/app/bundler/bundledetails.nl?sourcecompanyid=TSTDRV916910&domain=PRODUCTION&config=F&id=20038
|
|
8568
9156
|
SObjectType:
|
|
8569
9157
|
type: object
|
|
8570
9158
|
description: |
|
|
@@ -9082,9 +9670,10 @@ components:
|
|
|
9082
9670
|
errors:
|
|
9083
9671
|
- code: invalid_request
|
|
9084
9672
|
message: The request body failed validation.
|
|
9085
|
-
422-
|
|
9086
|
-
description:
|
|
9087
|
-
|
|
9673
|
+
422-dependency-conflict:
|
|
9674
|
+
description: |-
|
|
9675
|
+
The resource has dependents that must be deleted first. Each entry
|
|
9676
|
+
in the `errors` array names one blocking resource.
|
|
9088
9677
|
content:
|
|
9089
9678
|
application/json:
|
|
9090
9679
|
schema:
|
|
@@ -9093,12 +9682,11 @@ components:
|
|
|
9093
9682
|
default:
|
|
9094
9683
|
value:
|
|
9095
9684
|
errors:
|
|
9096
|
-
- code:
|
|
9097
|
-
message:
|
|
9098
|
-
422-
|
|
9099
|
-
description:
|
|
9100
|
-
The
|
|
9101
|
-
in the `errors` array names one blocking resource.
|
|
9685
|
+
- code: dependencies_not_deleted
|
|
9686
|
+
message: export 6902d88c10b42b2eaac9b2a1 must be deleted before you can delete connection 6398ddf316be761fb16a6523
|
|
9687
|
+
422-unprocessable-entity:
|
|
9688
|
+
description: |
|
|
9689
|
+
Unprocessable entity. The request was well-formed but was unable to be followed due to semantic errors.
|
|
9102
9690
|
content:
|
|
9103
9691
|
application/json:
|
|
9104
9692
|
schema:
|
|
@@ -9107,7 +9695,7 @@ components:
|
|
|
9107
9695
|
default:
|
|
9108
9696
|
value:
|
|
9109
9697
|
errors:
|
|
9110
|
-
- code:
|
|
9111
|
-
message:
|
|
9698
|
+
- code: unprocessable_entity
|
|
9699
|
+
message: The request could not be processed due to a semantic error.
|
|
9112
9700
|
x-enable-proxy: true
|
|
9113
9701
|
x-internal: false
|