@celigo/api-specs 0.2.192 → 0.2.194
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.yml +75 -20
- package/dist/connection.yml +76 -21
- package/dist/enduser.yml +75 -20
- package/dist/mcp-server.yml +1130 -40
- package/dist/tool.yml +75 -20
- package/package.json +1 -1
- package/schemas.json +2 -2
package/dist/api.yml
CHANGED
|
@@ -7960,23 +7960,51 @@ components:
|
|
|
7960
7960
|
googleProjectId:
|
|
7961
7961
|
type: string
|
|
7962
7962
|
description: |-
|
|
7963
|
-
|
|
7964
|
-
|
|
7965
|
-
`storage.googleapis.com`)
|
|
7963
|
+
Default project ID of a Google Cloud Storage connection (assistant
|
|
7964
|
+
`googlecloudstorage`, or a `baseURI` pointing at
|
|
7965
|
+
`storage.googleapis.com`): the Google Cloud project whose buckets the
|
|
7966
|
+
export and import forms list. It does not limit access — the
|
|
7967
|
+
connection reaches any bucket the authorized Google account or
|
|
7968
|
+
service account may use. Set by the caller on the OAuth 2.0 auth type
|
|
7969
|
+
(Celigo's published Google Cloud Storage iClient or an account-owned
|
|
7970
|
+
`custom_oauth2` iClient). On the Google service account auth type the
|
|
7971
|
+
server stores the key's `project_id` on create and on any save that
|
|
7972
|
+
changes or omits `http.unencrypted`; a save that re-sends the stored
|
|
7973
|
+
`http.unencrypted` unchanged keeps the stored value, even though the
|
|
7974
|
+
response body can echo the key's — read the connection back. Trimmed
|
|
7975
|
+
on save; no format is enforced (the connection form warns on a value
|
|
7976
|
+
outside Google's project-id format and still saves it).
|
|
7966
7977
|
examples:
|
|
7967
7978
|
- my-gcs-project
|
|
7968
7979
|
x-celigo-ai-guidance:
|
|
7969
7980
|
- |-
|
|
7970
7981
|
Required when the GCS connection authenticates through an OAuth
|
|
7971
|
-
iClient
|
|
7972
|
-
|
|
7973
|
-
|
|
7974
|
-
|
|
7975
|
-
|
|
7976
|
-
|
|
7977
|
-
|
|
7982
|
+
iClient — Celigo's published Google Cloud Storage iClient (the id
|
|
7983
|
+
the connector pre-configures on `http._iClientId` when
|
|
7984
|
+
`http.auth.type` is `oauth`) or an account-owned iClient with
|
|
7985
|
+
provider custom_oauth2. Omitting it, or sending only whitespace,
|
|
7986
|
+
fails the save with 422 project_id_missing on
|
|
7987
|
+
http.unencrypted.googleProjectId — "Default project ID is
|
|
7988
|
+
required on OAuth Google Cloud Storage connections
|
|
7989
|
+
(http.unencrypted.googleProjectId)." — on create and on every
|
|
7990
|
+
later PUT. With a googleserviceaccount iClient the server stores
|
|
7991
|
+
the key's project_id on create (a value sent on create is
|
|
7992
|
+
replaced by it) and on any later save that changes or omits
|
|
7993
|
+
`http.unencrypted` — the next bullet has the PUT that does not
|
|
7994
|
+
re-fill it. Any other provider fails with 422 invalid_field
|
|
7995
|
+
on http._iClientId — "IClient provider must be
|
|
7978
7996
|
googleserviceaccount or custom_oauth2 for Google Cloud Storage
|
|
7979
7997
|
connections."
|
|
7998
|
+
- |-
|
|
7999
|
+
When a PUT moves the connection from an OAuth iClient to a
|
|
8000
|
+
googleserviceaccount iClient, drop `http.unencrypted` (or change
|
|
8001
|
+
it) in the same PUT: the server's fill from the key is written
|
|
8002
|
+
only when `http.unencrypted` is absent or changed, so a PUT that
|
|
8003
|
+
re-sends the stored object unchanged keeps the OAuth-era project
|
|
8004
|
+
id beside the service account (the 200 body still echoes the
|
|
8005
|
+
key's — only a GET shows what persisted). Moving the other way
|
|
8006
|
+
(service account → OAuth) needs the project id in the PUT, or it
|
|
8007
|
+
is the 422 above.
|
|
7980
8008
|
unencryptedFields:
|
|
7981
8009
|
type: array
|
|
7982
8010
|
description: |
|
|
@@ -8021,13 +8049,20 @@ components:
|
|
|
8021
8049
|
description: |-
|
|
8022
8050
|
iClient that holds the credentials this connection signs with: the OAuth 2.0 client for
|
|
8023
8051
|
`auth.type` `oauth` (including the `azureserviceprincipal` service principal an Azure
|
|
8024
|
-
Data Lake Storage Gen2 connection authenticates with and
|
|
8025
|
-
|
|
8052
|
+
Data Lake Storage Gen2 connection authenticates with and, on a Google Cloud Storage
|
|
8053
|
+
connection, either the `googleserviceaccount` key of its Google service account auth
|
|
8054
|
+
type or — its OAuth 2.0 auth type — Celigo's published Google Cloud Storage iClient,
|
|
8055
|
+
which the connector pre-configures, or an account-owned `custom_oauth2` iClient), or
|
|
8056
|
+
the `awsIam` role for `auth.type` `awsiam`.
|
|
8026
8057
|
Must belong to the same account as the connection — or be the iClient Celigo publishes
|
|
8027
8058
|
with a pre-built OAuth HTTP connector (pre-configured by the connector; from the
|
|
8028
|
-
connecting account `GET /v1/iclients/{_id}` on it is 404 resource_not_found
|
|
8029
|
-
`GET /v1/iclients` does not list it, yet the
|
|
8030
|
-
|
|
8059
|
+
connecting account `GET /v1/iclients/{_id}` on it is 404 — resource_not_found or
|
|
8060
|
+
invalid_ref "IClient not found." — and `GET /v1/iclients` does not list it, yet the
|
|
8061
|
+
connection saves with it). Omit for every other auth type. A Google Cloud Storage
|
|
8062
|
+
connection stores `auth.type` `oauth` under both of its auth types; the referenced
|
|
8063
|
+
iClient's provider tells them apart, and switching is a PUT that changes `_iClientId`
|
|
8064
|
+
(see `unencrypted.googleProjectId` for what travels with it). On a Shopify connection
|
|
8065
|
+
`settings.appType` says which of the two it
|
|
8031
8066
|
is: `public` rides Celigo's published Shopify app (installed from the Shopify App
|
|
8032
8067
|
Store), `custom` rides the account's own iClient — the Shopify app the customer created
|
|
8033
8068
|
in the Shopify dev dashboard — with `auth.oauth.scope` chosen on the connection. A
|
|
@@ -8042,7 +8077,7 @@ components:
|
|
|
8042
8077
|
published app and carry no `settings.appType`.
|
|
8043
8078
|
examples:
|
|
8044
8079
|
- 6203a7e4f321d800129a1b8e
|
|
8045
|
-
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).'
|
|
8080
|
+
x-celigo-ui-override: 'Required by the connection form for oauth (subForms/httpOAuth.js: required true, iClient filter provider custom_oauth2 — on a Google Cloud Storage connection''s OAuth 2.0 auth type too, where Simple view pre-selects Celigo''s published iClient and hides the picker — or googleserviceaccount / azureserviceprincipal for the GCS Google service account 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).'
|
|
8046
8081
|
x-celigo-ai-guidance:
|
|
8047
8082
|
- |-
|
|
8048
8083
|
For auth.type "awsiam" the referenced iClient must have provider "awsIam" (any other
|
|
@@ -8061,10 +8096,30 @@ components:
|
|
|
8061
8096
|
The iClient must belong to the same account as the connection — an iClient id from
|
|
8062
8097
|
another account fails with 422 invalid_ref "The referenced IClient must belong to the
|
|
8063
8098
|
same user." The one exception is the iClient a pre-built OAuth HTTP connector
|
|
8064
|
-
pre-configures (Celigo's published app — the Shopify Public App's
|
|
8065
|
-
connection saves with that id from the
|
|
8066
|
-
`GET /v1/iclients/{_id}` on it is 404 there, so do not
|
|
8067
|
-
connection
|
|
8099
|
+
pre-configures (Celigo's published app — the Shopify Public App's and the Google Cloud
|
|
8100
|
+
Storage OAuth 2.0 iClient, for two): the connection saves with that id from the
|
|
8101
|
+
connecting account even though `GET /v1/iclients/{_id}` on it is 404 there, so do not
|
|
8102
|
+
refuse a `public` Shopify connection or an OAuth 2.0 Google Cloud Storage connection on
|
|
8103
|
+
this rule. Read the id from the connector's metadata
|
|
8104
|
+
(`GET /v1/httpconnectors/{_id}?returnEverything=true`,
|
|
8105
|
+
`supportedBy.connection.preConfiguredFields` entry for `http._iClientId`), never from
|
|
8106
|
+
a hard-coded value.
|
|
8107
|
+
- |-
|
|
8108
|
+
A Google Cloud Storage connection (assistant "googlecloudstorage", or any http.baseURI
|
|
8109
|
+
containing "storage.googleapis.com") references either a googleserviceaccount iClient
|
|
8110
|
+
of the same account (its Google service account auth type — no authorization step; the
|
|
8111
|
+
server stores the key's project_id in `unencrypted.googleProjectId` on create and
|
|
8112
|
+
whenever `http.unencrypted` changes or is omitted — see that field) or an OAuth iClient
|
|
8113
|
+
with `unencrypted.googleProjectId` set (its OAuth 2.0 auth type — Celigo's published
|
|
8114
|
+
iClient, or an account-owned custom_oauth2 one — authorized afterwards in a browser;
|
|
8115
|
+
until then `POST /v1/connections/{_id}/ping` answers `missing_token`). The server
|
|
8116
|
+
checks the provider only — a custom_oauth2 iClient registered for a different HTTP
|
|
8117
|
+
connector (`_httpConnectorId`) also saves on a GCS connection — so bind an iClient
|
|
8118
|
+
with no connector or the Google Cloud Storage connector's. The connection document
|
|
8119
|
+
keeps `auth.oauth.scope` as sent (a GCS connection saved without it stores none), so
|
|
8120
|
+
send the Cloud Storage scopes on the OAuth 2.0 auth type
|
|
8121
|
+
(https://www.googleapis.com/auth/devstorage.read_write, …read_only or
|
|
8122
|
+
…full_control); a service account connection carries none.
|
|
8068
8123
|
- |-
|
|
8069
8124
|
On a Shopify connection keep `settings.appType` and `_iClientId` in step the way the
|
|
8070
8125
|
form does — `public` with the connector's published iClient, `custom` with an
|
package/dist/connection.yml
CHANGED
|
@@ -709,7 +709,7 @@ paths:
|
|
|
709
709
|
code: invalid_field
|
|
710
710
|
message: IClient provider must be googleserviceaccount or custom_oauth2 for Google Cloud Storage connections.
|
|
711
711
|
gcsProjectIdMissing:
|
|
712
|
-
summary: Google Cloud Storage OAuth connection
|
|
712
|
+
summary: Google Cloud Storage OAuth 2.0 connection whose project id is absent or only whitespace
|
|
713
713
|
value:
|
|
714
714
|
errors:
|
|
715
715
|
- field: http.unencrypted.googleProjectId
|
|
@@ -6594,23 +6594,51 @@ components:
|
|
|
6594
6594
|
googleProjectId:
|
|
6595
6595
|
type: string
|
|
6596
6596
|
description: |-
|
|
6597
|
-
|
|
6598
|
-
|
|
6599
|
-
`storage.googleapis.com`)
|
|
6597
|
+
Default project ID of a Google Cloud Storage connection (assistant
|
|
6598
|
+
`googlecloudstorage`, or a `baseURI` pointing at
|
|
6599
|
+
`storage.googleapis.com`): the Google Cloud project whose buckets the
|
|
6600
|
+
export and import forms list. It does not limit access — the
|
|
6601
|
+
connection reaches any bucket the authorized Google account or
|
|
6602
|
+
service account may use. Set by the caller on the OAuth 2.0 auth type
|
|
6603
|
+
(Celigo's published Google Cloud Storage iClient or an account-owned
|
|
6604
|
+
`custom_oauth2` iClient). On the Google service account auth type the
|
|
6605
|
+
server stores the key's `project_id` on create and on any save that
|
|
6606
|
+
changes or omits `http.unencrypted`; a save that re-sends the stored
|
|
6607
|
+
`http.unencrypted` unchanged keeps the stored value, even though the
|
|
6608
|
+
response body can echo the key's — read the connection back. Trimmed
|
|
6609
|
+
on save; no format is enforced (the connection form warns on a value
|
|
6610
|
+
outside Google's project-id format and still saves it).
|
|
6600
6611
|
examples:
|
|
6601
6612
|
- my-gcs-project
|
|
6602
6613
|
x-celigo-ai-guidance:
|
|
6603
6614
|
- |-
|
|
6604
6615
|
Required when the GCS connection authenticates through an OAuth
|
|
6605
|
-
iClient
|
|
6606
|
-
|
|
6607
|
-
|
|
6608
|
-
|
|
6609
|
-
|
|
6610
|
-
|
|
6611
|
-
|
|
6616
|
+
iClient — Celigo's published Google Cloud Storage iClient (the id
|
|
6617
|
+
the connector pre-configures on `http._iClientId` when
|
|
6618
|
+
`http.auth.type` is `oauth`) or an account-owned iClient with
|
|
6619
|
+
provider custom_oauth2. Omitting it, or sending only whitespace,
|
|
6620
|
+
fails the save with 422 project_id_missing on
|
|
6621
|
+
http.unencrypted.googleProjectId — "Default project ID is
|
|
6622
|
+
required on OAuth Google Cloud Storage connections
|
|
6623
|
+
(http.unencrypted.googleProjectId)." — on create and on every
|
|
6624
|
+
later PUT. With a googleserviceaccount iClient the server stores
|
|
6625
|
+
the key's project_id on create (a value sent on create is
|
|
6626
|
+
replaced by it) and on any later save that changes or omits
|
|
6627
|
+
`http.unencrypted` — the next bullet has the PUT that does not
|
|
6628
|
+
re-fill it. Any other provider fails with 422 invalid_field
|
|
6629
|
+
on http._iClientId — "IClient provider must be
|
|
6612
6630
|
googleserviceaccount or custom_oauth2 for Google Cloud Storage
|
|
6613
6631
|
connections."
|
|
6632
|
+
- |-
|
|
6633
|
+
When a PUT moves the connection from an OAuth iClient to a
|
|
6634
|
+
googleserviceaccount iClient, drop `http.unencrypted` (or change
|
|
6635
|
+
it) in the same PUT: the server's fill from the key is written
|
|
6636
|
+
only when `http.unencrypted` is absent or changed, so a PUT that
|
|
6637
|
+
re-sends the stored object unchanged keeps the OAuth-era project
|
|
6638
|
+
id beside the service account (the 200 body still echoes the
|
|
6639
|
+
key's — only a GET shows what persisted). Moving the other way
|
|
6640
|
+
(service account → OAuth) needs the project id in the PUT, or it
|
|
6641
|
+
is the 422 above.
|
|
6614
6642
|
unencryptedFields:
|
|
6615
6643
|
type: array
|
|
6616
6644
|
description: |
|
|
@@ -6655,13 +6683,20 @@ components:
|
|
|
6655
6683
|
description: |-
|
|
6656
6684
|
iClient that holds the credentials this connection signs with: the OAuth 2.0 client for
|
|
6657
6685
|
`auth.type` `oauth` (including the `azureserviceprincipal` service principal an Azure
|
|
6658
|
-
Data Lake Storage Gen2 connection authenticates with and
|
|
6659
|
-
|
|
6686
|
+
Data Lake Storage Gen2 connection authenticates with and, on a Google Cloud Storage
|
|
6687
|
+
connection, either the `googleserviceaccount` key of its Google service account auth
|
|
6688
|
+
type or — its OAuth 2.0 auth type — Celigo's published Google Cloud Storage iClient,
|
|
6689
|
+
which the connector pre-configures, or an account-owned `custom_oauth2` iClient), or
|
|
6690
|
+
the `awsIam` role for `auth.type` `awsiam`.
|
|
6660
6691
|
Must belong to the same account as the connection — or be the iClient Celigo publishes
|
|
6661
6692
|
with a pre-built OAuth HTTP connector (pre-configured by the connector; from the
|
|
6662
|
-
connecting account `GET /v1/iclients/{_id}` on it is 404 resource_not_found
|
|
6663
|
-
`GET /v1/iclients` does not list it, yet the
|
|
6664
|
-
|
|
6693
|
+
connecting account `GET /v1/iclients/{_id}` on it is 404 — resource_not_found or
|
|
6694
|
+
invalid_ref "IClient not found." — and `GET /v1/iclients` does not list it, yet the
|
|
6695
|
+
connection saves with it). Omit for every other auth type. A Google Cloud Storage
|
|
6696
|
+
connection stores `auth.type` `oauth` under both of its auth types; the referenced
|
|
6697
|
+
iClient's provider tells them apart, and switching is a PUT that changes `_iClientId`
|
|
6698
|
+
(see `unencrypted.googleProjectId` for what travels with it). On a Shopify connection
|
|
6699
|
+
`settings.appType` says which of the two it
|
|
6665
6700
|
is: `public` rides Celigo's published Shopify app (installed from the Shopify App
|
|
6666
6701
|
Store), `custom` rides the account's own iClient — the Shopify app the customer created
|
|
6667
6702
|
in the Shopify dev dashboard — with `auth.oauth.scope` chosen on the connection. A
|
|
@@ -6676,7 +6711,7 @@ components:
|
|
|
6676
6711
|
published app and carry no `settings.appType`.
|
|
6677
6712
|
examples:
|
|
6678
6713
|
- 6203a7e4f321d800129a1b8e
|
|
6679
|
-
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).'
|
|
6714
|
+
x-celigo-ui-override: 'Required by the connection form for oauth (subForms/httpOAuth.js: required true, iClient filter provider custom_oauth2 — on a Google Cloud Storage connection''s OAuth 2.0 auth type too, where Simple view pre-selects Celigo''s published iClient and hides the picker — or googleserviceaccount / azureserviceprincipal for the GCS Google service account 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).'
|
|
6680
6715
|
x-celigo-ai-guidance:
|
|
6681
6716
|
- |-
|
|
6682
6717
|
For auth.type "awsiam" the referenced iClient must have provider "awsIam" (any other
|
|
@@ -6695,10 +6730,30 @@ components:
|
|
|
6695
6730
|
The iClient must belong to the same account as the connection — an iClient id from
|
|
6696
6731
|
another account fails with 422 invalid_ref "The referenced IClient must belong to the
|
|
6697
6732
|
same user." The one exception is the iClient a pre-built OAuth HTTP connector
|
|
6698
|
-
pre-configures (Celigo's published app — the Shopify Public App's
|
|
6699
|
-
connection saves with that id from the
|
|
6700
|
-
`GET /v1/iclients/{_id}` on it is 404 there, so do not
|
|
6701
|
-
connection
|
|
6733
|
+
pre-configures (Celigo's published app — the Shopify Public App's and the Google Cloud
|
|
6734
|
+
Storage OAuth 2.0 iClient, for two): the connection saves with that id from the
|
|
6735
|
+
connecting account even though `GET /v1/iclients/{_id}` on it is 404 there, so do not
|
|
6736
|
+
refuse a `public` Shopify connection or an OAuth 2.0 Google Cloud Storage connection on
|
|
6737
|
+
this rule. Read the id from the connector's metadata
|
|
6738
|
+
(`GET /v1/httpconnectors/{_id}?returnEverything=true`,
|
|
6739
|
+
`supportedBy.connection.preConfiguredFields` entry for `http._iClientId`), never from
|
|
6740
|
+
a hard-coded value.
|
|
6741
|
+
- |-
|
|
6742
|
+
A Google Cloud Storage connection (assistant "googlecloudstorage", or any http.baseURI
|
|
6743
|
+
containing "storage.googleapis.com") references either a googleserviceaccount iClient
|
|
6744
|
+
of the same account (its Google service account auth type — no authorization step; the
|
|
6745
|
+
server stores the key's project_id in `unencrypted.googleProjectId` on create and
|
|
6746
|
+
whenever `http.unencrypted` changes or is omitted — see that field) or an OAuth iClient
|
|
6747
|
+
with `unencrypted.googleProjectId` set (its OAuth 2.0 auth type — Celigo's published
|
|
6748
|
+
iClient, or an account-owned custom_oauth2 one — authorized afterwards in a browser;
|
|
6749
|
+
until then `POST /v1/connections/{_id}/ping` answers `missing_token`). The server
|
|
6750
|
+
checks the provider only — a custom_oauth2 iClient registered for a different HTTP
|
|
6751
|
+
connector (`_httpConnectorId`) also saves on a GCS connection — so bind an iClient
|
|
6752
|
+
with no connector or the Google Cloud Storage connector's. The connection document
|
|
6753
|
+
keeps `auth.oauth.scope` as sent (a GCS connection saved without it stores none), so
|
|
6754
|
+
send the Cloud Storage scopes on the OAuth 2.0 auth type
|
|
6755
|
+
(https://www.googleapis.com/auth/devstorage.read_write, …read_only or
|
|
6756
|
+
…full_control); a service account connection carries none.
|
|
6702
6757
|
- |-
|
|
6703
6758
|
On a Shopify connection keep `settings.appType` and `_iClientId` in step the way the
|
|
6704
6759
|
form does — `public` with the connector's published iClient, `custom` with an
|
package/dist/enduser.yml
CHANGED
|
@@ -4630,23 +4630,51 @@ components:
|
|
|
4630
4630
|
googleProjectId:
|
|
4631
4631
|
type: string
|
|
4632
4632
|
description: |-
|
|
4633
|
-
|
|
4634
|
-
|
|
4635
|
-
`storage.googleapis.com`)
|
|
4633
|
+
Default project ID of a Google Cloud Storage connection (assistant
|
|
4634
|
+
`googlecloudstorage`, or a `baseURI` pointing at
|
|
4635
|
+
`storage.googleapis.com`): the Google Cloud project whose buckets the
|
|
4636
|
+
export and import forms list. It does not limit access — the
|
|
4637
|
+
connection reaches any bucket the authorized Google account or
|
|
4638
|
+
service account may use. Set by the caller on the OAuth 2.0 auth type
|
|
4639
|
+
(Celigo's published Google Cloud Storage iClient or an account-owned
|
|
4640
|
+
`custom_oauth2` iClient). On the Google service account auth type the
|
|
4641
|
+
server stores the key's `project_id` on create and on any save that
|
|
4642
|
+
changes or omits `http.unencrypted`; a save that re-sends the stored
|
|
4643
|
+
`http.unencrypted` unchanged keeps the stored value, even though the
|
|
4644
|
+
response body can echo the key's — read the connection back. Trimmed
|
|
4645
|
+
on save; no format is enforced (the connection form warns on a value
|
|
4646
|
+
outside Google's project-id format and still saves it).
|
|
4636
4647
|
examples:
|
|
4637
4648
|
- my-gcs-project
|
|
4638
4649
|
x-celigo-ai-guidance:
|
|
4639
4650
|
- |-
|
|
4640
4651
|
Required when the GCS connection authenticates through an OAuth
|
|
4641
|
-
iClient
|
|
4642
|
-
|
|
4643
|
-
|
|
4644
|
-
|
|
4645
|
-
|
|
4646
|
-
|
|
4647
|
-
|
|
4652
|
+
iClient — Celigo's published Google Cloud Storage iClient (the id
|
|
4653
|
+
the connector pre-configures on `http._iClientId` when
|
|
4654
|
+
`http.auth.type` is `oauth`) or an account-owned iClient with
|
|
4655
|
+
provider custom_oauth2. Omitting it, or sending only whitespace,
|
|
4656
|
+
fails the save with 422 project_id_missing on
|
|
4657
|
+
http.unencrypted.googleProjectId — "Default project ID is
|
|
4658
|
+
required on OAuth Google Cloud Storage connections
|
|
4659
|
+
(http.unencrypted.googleProjectId)." — on create and on every
|
|
4660
|
+
later PUT. With a googleserviceaccount iClient the server stores
|
|
4661
|
+
the key's project_id on create (a value sent on create is
|
|
4662
|
+
replaced by it) and on any later save that changes or omits
|
|
4663
|
+
`http.unencrypted` — the next bullet has the PUT that does not
|
|
4664
|
+
re-fill it. Any other provider fails with 422 invalid_field
|
|
4665
|
+
on http._iClientId — "IClient provider must be
|
|
4648
4666
|
googleserviceaccount or custom_oauth2 for Google Cloud Storage
|
|
4649
4667
|
connections."
|
|
4668
|
+
- |-
|
|
4669
|
+
When a PUT moves the connection from an OAuth iClient to a
|
|
4670
|
+
googleserviceaccount iClient, drop `http.unencrypted` (or change
|
|
4671
|
+
it) in the same PUT: the server's fill from the key is written
|
|
4672
|
+
only when `http.unencrypted` is absent or changed, so a PUT that
|
|
4673
|
+
re-sends the stored object unchanged keeps the OAuth-era project
|
|
4674
|
+
id beside the service account (the 200 body still echoes the
|
|
4675
|
+
key's — only a GET shows what persisted). Moving the other way
|
|
4676
|
+
(service account → OAuth) needs the project id in the PUT, or it
|
|
4677
|
+
is the 422 above.
|
|
4650
4678
|
unencryptedFields:
|
|
4651
4679
|
type: array
|
|
4652
4680
|
description: |
|
|
@@ -4691,13 +4719,20 @@ components:
|
|
|
4691
4719
|
description: |-
|
|
4692
4720
|
iClient that holds the credentials this connection signs with: the OAuth 2.0 client for
|
|
4693
4721
|
`auth.type` `oauth` (including the `azureserviceprincipal` service principal an Azure
|
|
4694
|
-
Data Lake Storage Gen2 connection authenticates with and
|
|
4695
|
-
|
|
4722
|
+
Data Lake Storage Gen2 connection authenticates with and, on a Google Cloud Storage
|
|
4723
|
+
connection, either the `googleserviceaccount` key of its Google service account auth
|
|
4724
|
+
type or — its OAuth 2.0 auth type — Celigo's published Google Cloud Storage iClient,
|
|
4725
|
+
which the connector pre-configures, or an account-owned `custom_oauth2` iClient), or
|
|
4726
|
+
the `awsIam` role for `auth.type` `awsiam`.
|
|
4696
4727
|
Must belong to the same account as the connection — or be the iClient Celigo publishes
|
|
4697
4728
|
with a pre-built OAuth HTTP connector (pre-configured by the connector; from the
|
|
4698
|
-
connecting account `GET /v1/iclients/{_id}` on it is 404 resource_not_found
|
|
4699
|
-
`GET /v1/iclients` does not list it, yet the
|
|
4700
|
-
|
|
4729
|
+
connecting account `GET /v1/iclients/{_id}` on it is 404 — resource_not_found or
|
|
4730
|
+
invalid_ref "IClient not found." — and `GET /v1/iclients` does not list it, yet the
|
|
4731
|
+
connection saves with it). Omit for every other auth type. A Google Cloud Storage
|
|
4732
|
+
connection stores `auth.type` `oauth` under both of its auth types; the referenced
|
|
4733
|
+
iClient's provider tells them apart, and switching is a PUT that changes `_iClientId`
|
|
4734
|
+
(see `unencrypted.googleProjectId` for what travels with it). On a Shopify connection
|
|
4735
|
+
`settings.appType` says which of the two it
|
|
4701
4736
|
is: `public` rides Celigo's published Shopify app (installed from the Shopify App
|
|
4702
4737
|
Store), `custom` rides the account's own iClient — the Shopify app the customer created
|
|
4703
4738
|
in the Shopify dev dashboard — with `auth.oauth.scope` chosen on the connection. A
|
|
@@ -4712,7 +4747,7 @@ components:
|
|
|
4712
4747
|
published app and carry no `settings.appType`.
|
|
4713
4748
|
examples:
|
|
4714
4749
|
- 6203a7e4f321d800129a1b8e
|
|
4715
|
-
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).'
|
|
4750
|
+
x-celigo-ui-override: 'Required by the connection form for oauth (subForms/httpOAuth.js: required true, iClient filter provider custom_oauth2 — on a Google Cloud Storage connection''s OAuth 2.0 auth type too, where Simple view pre-selects Celigo''s published iClient and hides the picker — or googleserviceaccount / azureserviceprincipal for the GCS Google service account 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).'
|
|
4716
4751
|
x-celigo-ai-guidance:
|
|
4717
4752
|
- |-
|
|
4718
4753
|
For auth.type "awsiam" the referenced iClient must have provider "awsIam" (any other
|
|
@@ -4731,10 +4766,30 @@ components:
|
|
|
4731
4766
|
The iClient must belong to the same account as the connection — an iClient id from
|
|
4732
4767
|
another account fails with 422 invalid_ref "The referenced IClient must belong to the
|
|
4733
4768
|
same user." The one exception is the iClient a pre-built OAuth HTTP connector
|
|
4734
|
-
pre-configures (Celigo's published app — the Shopify Public App's
|
|
4735
|
-
connection saves with that id from the
|
|
4736
|
-
`GET /v1/iclients/{_id}` on it is 404 there, so do not
|
|
4737
|
-
connection
|
|
4769
|
+
pre-configures (Celigo's published app — the Shopify Public App's and the Google Cloud
|
|
4770
|
+
Storage OAuth 2.0 iClient, for two): the connection saves with that id from the
|
|
4771
|
+
connecting account even though `GET /v1/iclients/{_id}` on it is 404 there, so do not
|
|
4772
|
+
refuse a `public` Shopify connection or an OAuth 2.0 Google Cloud Storage connection on
|
|
4773
|
+
this rule. Read the id from the connector's metadata
|
|
4774
|
+
(`GET /v1/httpconnectors/{_id}?returnEverything=true`,
|
|
4775
|
+
`supportedBy.connection.preConfiguredFields` entry for `http._iClientId`), never from
|
|
4776
|
+
a hard-coded value.
|
|
4777
|
+
- |-
|
|
4778
|
+
A Google Cloud Storage connection (assistant "googlecloudstorage", or any http.baseURI
|
|
4779
|
+
containing "storage.googleapis.com") references either a googleserviceaccount iClient
|
|
4780
|
+
of the same account (its Google service account auth type — no authorization step; the
|
|
4781
|
+
server stores the key's project_id in `unencrypted.googleProjectId` on create and
|
|
4782
|
+
whenever `http.unencrypted` changes or is omitted — see that field) or an OAuth iClient
|
|
4783
|
+
with `unencrypted.googleProjectId` set (its OAuth 2.0 auth type — Celigo's published
|
|
4784
|
+
iClient, or an account-owned custom_oauth2 one — authorized afterwards in a browser;
|
|
4785
|
+
until then `POST /v1/connections/{_id}/ping` answers `missing_token`). The server
|
|
4786
|
+
checks the provider only — a custom_oauth2 iClient registered for a different HTTP
|
|
4787
|
+
connector (`_httpConnectorId`) also saves on a GCS connection — so bind an iClient
|
|
4788
|
+
with no connector or the Google Cloud Storage connector's. The connection document
|
|
4789
|
+
keeps `auth.oauth.scope` as sent (a GCS connection saved without it stores none), so
|
|
4790
|
+
send the Cloud Storage scopes on the OAuth 2.0 auth type
|
|
4791
|
+
(https://www.googleapis.com/auth/devstorage.read_write, …read_only or
|
|
4792
|
+
…full_control); a service account connection carries none.
|
|
4738
4793
|
- |-
|
|
4739
4794
|
On a Shopify connection keep `settings.appType` and `_iClientId` in step the way the
|
|
4740
4795
|
form does — `public` with the connector's published iClient, `custom` with an
|