@celigo/api-specs 0.2.193 → 0.2.195
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/import.yml +17 -1
- package/dist/mcp-server.yml +75 -20
- package/dist/tool.yml +92 -21
- 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
|
package/dist/import.yml
CHANGED
|
@@ -4145,6 +4145,10 @@ components:
|
|
|
4145
4145
|
- |-
|
|
4146
4146
|
Validated via the dedicated `PUT /v1/netsuiteDA/previewImportMappingFields`
|
|
4147
4147
|
endpoint (NOT `/v1/processors/mapperProcessor`).
|
|
4148
|
+
- |-
|
|
4149
|
+
The preview resolves the mapping without writing to NetSuite: the multiselect row
|
|
4150
|
+
NetSuite rejected at save time (see `fields[].dataType`) rendered exactly like the
|
|
4151
|
+
row it accepted, so a passed preview does not prove the save.
|
|
4148
4152
|
properties:
|
|
4149
4153
|
fields:
|
|
4150
4154
|
type: array
|
|
@@ -4180,9 +4184,21 @@ components:
|
|
|
4180
4184
|
type: string
|
|
4181
4185
|
description: |
|
|
4182
4186
|
Data type hint for the field value (e.g., "string", "number", "date", "boolean").
|
|
4187
|
+
Omit it on a multiselect reference row (`internalId: true`), which takes an array
|
|
4188
|
+
of numeric internal ids.
|
|
4189
|
+
x-celigo-ai-guidance:
|
|
4190
|
+
- |-
|
|
4191
|
+
On a multiselect reference row, `dataType: "stringarray"` with an array of string
|
|
4192
|
+
ids was written as ONE comma-joined text selection and NetSuite rejected the save
|
|
4193
|
+
with `Invalid <field> reference key <id1>,<id2>,…`, leaving the field empty; the
|
|
4194
|
+
same row with no `dataType` and an array of numeric ids saved every id as a
|
|
4195
|
+
selection.
|
|
4183
4196
|
internalId:
|
|
4184
4197
|
type: boolean
|
|
4185
|
-
description:
|
|
4198
|
+
description: |-
|
|
4199
|
+
When true, the value is a NetSuite internal ID reference — the mapper's
|
|
4200
|
+
"(InternalId)" destination row, stored on the base field id in `generate` rather
|
|
4201
|
+
than as a `<field>.internalid` suffix.
|
|
4186
4202
|
immutable:
|
|
4187
4203
|
type: boolean
|
|
4188
4204
|
description: When true, this field is only set on record creation, not on updates.
|
package/dist/mcp-server.yml
CHANGED
|
@@ -7072,23 +7072,51 @@ components:
|
|
|
7072
7072
|
googleProjectId:
|
|
7073
7073
|
type: string
|
|
7074
7074
|
description: |-
|
|
7075
|
-
|
|
7076
|
-
|
|
7077
|
-
`storage.googleapis.com`)
|
|
7075
|
+
Default project ID of a Google Cloud Storage connection (assistant
|
|
7076
|
+
`googlecloudstorage`, or a `baseURI` pointing at
|
|
7077
|
+
`storage.googleapis.com`): the Google Cloud project whose buckets the
|
|
7078
|
+
export and import forms list. It does not limit access — the
|
|
7079
|
+
connection reaches any bucket the authorized Google account or
|
|
7080
|
+
service account may use. Set by the caller on the OAuth 2.0 auth type
|
|
7081
|
+
(Celigo's published Google Cloud Storage iClient or an account-owned
|
|
7082
|
+
`custom_oauth2` iClient). On the Google service account auth type the
|
|
7083
|
+
server stores the key's `project_id` on create and on any save that
|
|
7084
|
+
changes or omits `http.unencrypted`; a save that re-sends the stored
|
|
7085
|
+
`http.unencrypted` unchanged keeps the stored value, even though the
|
|
7086
|
+
response body can echo the key's — read the connection back. Trimmed
|
|
7087
|
+
on save; no format is enforced (the connection form warns on a value
|
|
7088
|
+
outside Google's project-id format and still saves it).
|
|
7078
7089
|
examples:
|
|
7079
7090
|
- my-gcs-project
|
|
7080
7091
|
x-celigo-ai-guidance:
|
|
7081
7092
|
- |-
|
|
7082
7093
|
Required when the GCS connection authenticates through an OAuth
|
|
7083
|
-
iClient
|
|
7084
|
-
|
|
7085
|
-
|
|
7086
|
-
|
|
7087
|
-
|
|
7088
|
-
|
|
7089
|
-
|
|
7094
|
+
iClient — Celigo's published Google Cloud Storage iClient (the id
|
|
7095
|
+
the connector pre-configures on `http._iClientId` when
|
|
7096
|
+
`http.auth.type` is `oauth`) or an account-owned iClient with
|
|
7097
|
+
provider custom_oauth2. Omitting it, or sending only whitespace,
|
|
7098
|
+
fails the save with 422 project_id_missing on
|
|
7099
|
+
http.unencrypted.googleProjectId — "Default project ID is
|
|
7100
|
+
required on OAuth Google Cloud Storage connections
|
|
7101
|
+
(http.unencrypted.googleProjectId)." — on create and on every
|
|
7102
|
+
later PUT. With a googleserviceaccount iClient the server stores
|
|
7103
|
+
the key's project_id on create (a value sent on create is
|
|
7104
|
+
replaced by it) and on any later save that changes or omits
|
|
7105
|
+
`http.unencrypted` — the next bullet has the PUT that does not
|
|
7106
|
+
re-fill it. Any other provider fails with 422 invalid_field
|
|
7107
|
+
on http._iClientId — "IClient provider must be
|
|
7090
7108
|
googleserviceaccount or custom_oauth2 for Google Cloud Storage
|
|
7091
7109
|
connections."
|
|
7110
|
+
- |-
|
|
7111
|
+
When a PUT moves the connection from an OAuth iClient to a
|
|
7112
|
+
googleserviceaccount iClient, drop `http.unencrypted` (or change
|
|
7113
|
+
it) in the same PUT: the server's fill from the key is written
|
|
7114
|
+
only when `http.unencrypted` is absent or changed, so a PUT that
|
|
7115
|
+
re-sends the stored object unchanged keeps the OAuth-era project
|
|
7116
|
+
id beside the service account (the 200 body still echoes the
|
|
7117
|
+
key's — only a GET shows what persisted). Moving the other way
|
|
7118
|
+
(service account → OAuth) needs the project id in the PUT, or it
|
|
7119
|
+
is the 422 above.
|
|
7092
7120
|
unencryptedFields:
|
|
7093
7121
|
type: array
|
|
7094
7122
|
description: |
|
|
@@ -7133,13 +7161,20 @@ components:
|
|
|
7133
7161
|
description: |-
|
|
7134
7162
|
iClient that holds the credentials this connection signs with: the OAuth 2.0 client for
|
|
7135
7163
|
`auth.type` `oauth` (including the `azureserviceprincipal` service principal an Azure
|
|
7136
|
-
Data Lake Storage Gen2 connection authenticates with and
|
|
7137
|
-
|
|
7164
|
+
Data Lake Storage Gen2 connection authenticates with and, on a Google Cloud Storage
|
|
7165
|
+
connection, either the `googleserviceaccount` key of its Google service account auth
|
|
7166
|
+
type or — its OAuth 2.0 auth type — Celigo's published Google Cloud Storage iClient,
|
|
7167
|
+
which the connector pre-configures, or an account-owned `custom_oauth2` iClient), or
|
|
7168
|
+
the `awsIam` role for `auth.type` `awsiam`.
|
|
7138
7169
|
Must belong to the same account as the connection — or be the iClient Celigo publishes
|
|
7139
7170
|
with a pre-built OAuth HTTP connector (pre-configured by the connector; from the
|
|
7140
|
-
connecting account `GET /v1/iclients/{_id}` on it is 404 resource_not_found
|
|
7141
|
-
`GET /v1/iclients` does not list it, yet the
|
|
7142
|
-
|
|
7171
|
+
connecting account `GET /v1/iclients/{_id}` on it is 404 — resource_not_found or
|
|
7172
|
+
invalid_ref "IClient not found." — and `GET /v1/iclients` does not list it, yet the
|
|
7173
|
+
connection saves with it). Omit for every other auth type. A Google Cloud Storage
|
|
7174
|
+
connection stores `auth.type` `oauth` under both of its auth types; the referenced
|
|
7175
|
+
iClient's provider tells them apart, and switching is a PUT that changes `_iClientId`
|
|
7176
|
+
(see `unencrypted.googleProjectId` for what travels with it). On a Shopify connection
|
|
7177
|
+
`settings.appType` says which of the two it
|
|
7143
7178
|
is: `public` rides Celigo's published Shopify app (installed from the Shopify App
|
|
7144
7179
|
Store), `custom` rides the account's own iClient — the Shopify app the customer created
|
|
7145
7180
|
in the Shopify dev dashboard — with `auth.oauth.scope` chosen on the connection. A
|
|
@@ -7154,7 +7189,7 @@ components:
|
|
|
7154
7189
|
published app and carry no `settings.appType`.
|
|
7155
7190
|
examples:
|
|
7156
7191
|
- 6203a7e4f321d800129a1b8e
|
|
7157
|
-
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).'
|
|
7192
|
+
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).'
|
|
7158
7193
|
x-celigo-ai-guidance:
|
|
7159
7194
|
- |-
|
|
7160
7195
|
For auth.type "awsiam" the referenced iClient must have provider "awsIam" (any other
|
|
@@ -7173,10 +7208,30 @@ components:
|
|
|
7173
7208
|
The iClient must belong to the same account as the connection — an iClient id from
|
|
7174
7209
|
another account fails with 422 invalid_ref "The referenced IClient must belong to the
|
|
7175
7210
|
same user." The one exception is the iClient a pre-built OAuth HTTP connector
|
|
7176
|
-
pre-configures (Celigo's published app — the Shopify Public App's
|
|
7177
|
-
connection saves with that id from the
|
|
7178
|
-
`GET /v1/iclients/{_id}` on it is 404 there, so do not
|
|
7179
|
-
connection
|
|
7211
|
+
pre-configures (Celigo's published app — the Shopify Public App's and the Google Cloud
|
|
7212
|
+
Storage OAuth 2.0 iClient, for two): the connection saves with that id from the
|
|
7213
|
+
connecting account even though `GET /v1/iclients/{_id}` on it is 404 there, so do not
|
|
7214
|
+
refuse a `public` Shopify connection or an OAuth 2.0 Google Cloud Storage connection on
|
|
7215
|
+
this rule. Read the id from the connector's metadata
|
|
7216
|
+
(`GET /v1/httpconnectors/{_id}?returnEverything=true`,
|
|
7217
|
+
`supportedBy.connection.preConfiguredFields` entry for `http._iClientId`), never from
|
|
7218
|
+
a hard-coded value.
|
|
7219
|
+
- |-
|
|
7220
|
+
A Google Cloud Storage connection (assistant "googlecloudstorage", or any http.baseURI
|
|
7221
|
+
containing "storage.googleapis.com") references either a googleserviceaccount iClient
|
|
7222
|
+
of the same account (its Google service account auth type — no authorization step; the
|
|
7223
|
+
server stores the key's project_id in `unencrypted.googleProjectId` on create and
|
|
7224
|
+
whenever `http.unencrypted` changes or is omitted — see that field) or an OAuth iClient
|
|
7225
|
+
with `unencrypted.googleProjectId` set (its OAuth 2.0 auth type — Celigo's published
|
|
7226
|
+
iClient, or an account-owned custom_oauth2 one — authorized afterwards in a browser;
|
|
7227
|
+
until then `POST /v1/connections/{_id}/ping` answers `missing_token`). The server
|
|
7228
|
+
checks the provider only — a custom_oauth2 iClient registered for a different HTTP
|
|
7229
|
+
connector (`_httpConnectorId`) also saves on a GCS connection — so bind an iClient
|
|
7230
|
+
with no connector or the Google Cloud Storage connector's. The connection document
|
|
7231
|
+
keeps `auth.oauth.scope` as sent (a GCS connection saved without it stores none), so
|
|
7232
|
+
send the Cloud Storage scopes on the OAuth 2.0 auth type
|
|
7233
|
+
(https://www.googleapis.com/auth/devstorage.read_write, …read_only or
|
|
7234
|
+
…full_control); a service account connection carries none.
|
|
7180
7235
|
- |-
|
|
7181
7236
|
On a Shopify connection keep `settings.appType` and `_iClientId` in step the way the
|
|
7182
7237
|
form does — `public` with the connector's published iClient, `custom` with an
|
package/dist/tool.yml
CHANGED
|
@@ -10000,23 +10000,51 @@ components:
|
|
|
10000
10000
|
googleProjectId:
|
|
10001
10001
|
type: string
|
|
10002
10002
|
description: |-
|
|
10003
|
-
|
|
10004
|
-
|
|
10005
|
-
`storage.googleapis.com`)
|
|
10003
|
+
Default project ID of a Google Cloud Storage connection (assistant
|
|
10004
|
+
`googlecloudstorage`, or a `baseURI` pointing at
|
|
10005
|
+
`storage.googleapis.com`): the Google Cloud project whose buckets the
|
|
10006
|
+
export and import forms list. It does not limit access — the
|
|
10007
|
+
connection reaches any bucket the authorized Google account or
|
|
10008
|
+
service account may use. Set by the caller on the OAuth 2.0 auth type
|
|
10009
|
+
(Celigo's published Google Cloud Storage iClient or an account-owned
|
|
10010
|
+
`custom_oauth2` iClient). On the Google service account auth type the
|
|
10011
|
+
server stores the key's `project_id` on create and on any save that
|
|
10012
|
+
changes or omits `http.unencrypted`; a save that re-sends the stored
|
|
10013
|
+
`http.unencrypted` unchanged keeps the stored value, even though the
|
|
10014
|
+
response body can echo the key's — read the connection back. Trimmed
|
|
10015
|
+
on save; no format is enforced (the connection form warns on a value
|
|
10016
|
+
outside Google's project-id format and still saves it).
|
|
10006
10017
|
examples:
|
|
10007
10018
|
- my-gcs-project
|
|
10008
10019
|
x-celigo-ai-guidance:
|
|
10009
10020
|
- |-
|
|
10010
10021
|
Required when the GCS connection authenticates through an OAuth
|
|
10011
|
-
iClient
|
|
10012
|
-
|
|
10013
|
-
|
|
10014
|
-
|
|
10015
|
-
|
|
10016
|
-
|
|
10017
|
-
|
|
10022
|
+
iClient — Celigo's published Google Cloud Storage iClient (the id
|
|
10023
|
+
the connector pre-configures on `http._iClientId` when
|
|
10024
|
+
`http.auth.type` is `oauth`) or an account-owned iClient with
|
|
10025
|
+
provider custom_oauth2. Omitting it, or sending only whitespace,
|
|
10026
|
+
fails the save with 422 project_id_missing on
|
|
10027
|
+
http.unencrypted.googleProjectId — "Default project ID is
|
|
10028
|
+
required on OAuth Google Cloud Storage connections
|
|
10029
|
+
(http.unencrypted.googleProjectId)." — on create and on every
|
|
10030
|
+
later PUT. With a googleserviceaccount iClient the server stores
|
|
10031
|
+
the key's project_id on create (a value sent on create is
|
|
10032
|
+
replaced by it) and on any later save that changes or omits
|
|
10033
|
+
`http.unencrypted` — the next bullet has the PUT that does not
|
|
10034
|
+
re-fill it. Any other provider fails with 422 invalid_field
|
|
10035
|
+
on http._iClientId — "IClient provider must be
|
|
10018
10036
|
googleserviceaccount or custom_oauth2 for Google Cloud Storage
|
|
10019
10037
|
connections."
|
|
10038
|
+
- |-
|
|
10039
|
+
When a PUT moves the connection from an OAuth iClient to a
|
|
10040
|
+
googleserviceaccount iClient, drop `http.unencrypted` (or change
|
|
10041
|
+
it) in the same PUT: the server's fill from the key is written
|
|
10042
|
+
only when `http.unencrypted` is absent or changed, so a PUT that
|
|
10043
|
+
re-sends the stored object unchanged keeps the OAuth-era project
|
|
10044
|
+
id beside the service account (the 200 body still echoes the
|
|
10045
|
+
key's — only a GET shows what persisted). Moving the other way
|
|
10046
|
+
(service account → OAuth) needs the project id in the PUT, or it
|
|
10047
|
+
is the 422 above.
|
|
10020
10048
|
unencryptedFields:
|
|
10021
10049
|
type: array
|
|
10022
10050
|
description: |
|
|
@@ -10061,13 +10089,20 @@ components:
|
|
|
10061
10089
|
description: |-
|
|
10062
10090
|
iClient that holds the credentials this connection signs with: the OAuth 2.0 client for
|
|
10063
10091
|
`auth.type` `oauth` (including the `azureserviceprincipal` service principal an Azure
|
|
10064
|
-
Data Lake Storage Gen2 connection authenticates with and
|
|
10065
|
-
|
|
10092
|
+
Data Lake Storage Gen2 connection authenticates with and, on a Google Cloud Storage
|
|
10093
|
+
connection, either the `googleserviceaccount` key of its Google service account auth
|
|
10094
|
+
type or — its OAuth 2.0 auth type — Celigo's published Google Cloud Storage iClient,
|
|
10095
|
+
which the connector pre-configures, or an account-owned `custom_oauth2` iClient), or
|
|
10096
|
+
the `awsIam` role for `auth.type` `awsiam`.
|
|
10066
10097
|
Must belong to the same account as the connection — or be the iClient Celigo publishes
|
|
10067
10098
|
with a pre-built OAuth HTTP connector (pre-configured by the connector; from the
|
|
10068
|
-
connecting account `GET /v1/iclients/{_id}` on it is 404 resource_not_found
|
|
10069
|
-
`GET /v1/iclients` does not list it, yet the
|
|
10070
|
-
|
|
10099
|
+
connecting account `GET /v1/iclients/{_id}` on it is 404 — resource_not_found or
|
|
10100
|
+
invalid_ref "IClient not found." — and `GET /v1/iclients` does not list it, yet the
|
|
10101
|
+
connection saves with it). Omit for every other auth type. A Google Cloud Storage
|
|
10102
|
+
connection stores `auth.type` `oauth` under both of its auth types; the referenced
|
|
10103
|
+
iClient's provider tells them apart, and switching is a PUT that changes `_iClientId`
|
|
10104
|
+
(see `unencrypted.googleProjectId` for what travels with it). On a Shopify connection
|
|
10105
|
+
`settings.appType` says which of the two it
|
|
10071
10106
|
is: `public` rides Celigo's published Shopify app (installed from the Shopify App
|
|
10072
10107
|
Store), `custom` rides the account's own iClient — the Shopify app the customer created
|
|
10073
10108
|
in the Shopify dev dashboard — with `auth.oauth.scope` chosen on the connection. A
|
|
@@ -10082,7 +10117,7 @@ components:
|
|
|
10082
10117
|
published app and carry no `settings.appType`.
|
|
10083
10118
|
examples:
|
|
10084
10119
|
- 6203a7e4f321d800129a1b8e
|
|
10085
|
-
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).'
|
|
10120
|
+
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).'
|
|
10086
10121
|
x-celigo-ai-guidance:
|
|
10087
10122
|
- |-
|
|
10088
10123
|
For auth.type "awsiam" the referenced iClient must have provider "awsIam" (any other
|
|
@@ -10101,10 +10136,30 @@ components:
|
|
|
10101
10136
|
The iClient must belong to the same account as the connection — an iClient id from
|
|
10102
10137
|
another account fails with 422 invalid_ref "The referenced IClient must belong to the
|
|
10103
10138
|
same user." The one exception is the iClient a pre-built OAuth HTTP connector
|
|
10104
|
-
pre-configures (Celigo's published app — the Shopify Public App's
|
|
10105
|
-
connection saves with that id from the
|
|
10106
|
-
`GET /v1/iclients/{_id}` on it is 404 there, so do not
|
|
10107
|
-
connection
|
|
10139
|
+
pre-configures (Celigo's published app — the Shopify Public App's and the Google Cloud
|
|
10140
|
+
Storage OAuth 2.0 iClient, for two): the connection saves with that id from the
|
|
10141
|
+
connecting account even though `GET /v1/iclients/{_id}` on it is 404 there, so do not
|
|
10142
|
+
refuse a `public` Shopify connection or an OAuth 2.0 Google Cloud Storage connection on
|
|
10143
|
+
this rule. Read the id from the connector's metadata
|
|
10144
|
+
(`GET /v1/httpconnectors/{_id}?returnEverything=true`,
|
|
10145
|
+
`supportedBy.connection.preConfiguredFields` entry for `http._iClientId`), never from
|
|
10146
|
+
a hard-coded value.
|
|
10147
|
+
- |-
|
|
10148
|
+
A Google Cloud Storage connection (assistant "googlecloudstorage", or any http.baseURI
|
|
10149
|
+
containing "storage.googleapis.com") references either a googleserviceaccount iClient
|
|
10150
|
+
of the same account (its Google service account auth type — no authorization step; the
|
|
10151
|
+
server stores the key's project_id in `unencrypted.googleProjectId` on create and
|
|
10152
|
+
whenever `http.unencrypted` changes or is omitted — see that field) or an OAuth iClient
|
|
10153
|
+
with `unencrypted.googleProjectId` set (its OAuth 2.0 auth type — Celigo's published
|
|
10154
|
+
iClient, or an account-owned custom_oauth2 one — authorized afterwards in a browser;
|
|
10155
|
+
until then `POST /v1/connections/{_id}/ping` answers `missing_token`). The server
|
|
10156
|
+
checks the provider only — a custom_oauth2 iClient registered for a different HTTP
|
|
10157
|
+
connector (`_httpConnectorId`) also saves on a GCS connection — so bind an iClient
|
|
10158
|
+
with no connector or the Google Cloud Storage connector's. The connection document
|
|
10159
|
+
keeps `auth.oauth.scope` as sent (a GCS connection saved without it stores none), so
|
|
10160
|
+
send the Cloud Storage scopes on the OAuth 2.0 auth type
|
|
10161
|
+
(https://www.googleapis.com/auth/devstorage.read_write, …read_only or
|
|
10162
|
+
…full_control); a service account connection carries none.
|
|
10108
10163
|
- |-
|
|
10109
10164
|
On a Shopify connection keep `settings.appType` and `_iClientId` in step the way the
|
|
10110
10165
|
form does — `public` with the connector's published iClient, `custom` with an
|
|
@@ -16099,6 +16154,10 @@ components:
|
|
|
16099
16154
|
- |-
|
|
16100
16155
|
Validated via the dedicated `PUT /v1/netsuiteDA/previewImportMappingFields`
|
|
16101
16156
|
endpoint (NOT `/v1/processors/mapperProcessor`).
|
|
16157
|
+
- |-
|
|
16158
|
+
The preview resolves the mapping without writing to NetSuite: the multiselect row
|
|
16159
|
+
NetSuite rejected at save time (see `fields[].dataType`) rendered exactly like the
|
|
16160
|
+
row it accepted, so a passed preview does not prove the save.
|
|
16102
16161
|
properties:
|
|
16103
16162
|
fields:
|
|
16104
16163
|
type: array
|
|
@@ -16134,9 +16193,21 @@ components:
|
|
|
16134
16193
|
type: string
|
|
16135
16194
|
description: |
|
|
16136
16195
|
Data type hint for the field value (e.g., "string", "number", "date", "boolean").
|
|
16196
|
+
Omit it on a multiselect reference row (`internalId: true`), which takes an array
|
|
16197
|
+
of numeric internal ids.
|
|
16198
|
+
x-celigo-ai-guidance:
|
|
16199
|
+
- |-
|
|
16200
|
+
On a multiselect reference row, `dataType: "stringarray"` with an array of string
|
|
16201
|
+
ids was written as ONE comma-joined text selection and NetSuite rejected the save
|
|
16202
|
+
with `Invalid <field> reference key <id1>,<id2>,…`, leaving the field empty; the
|
|
16203
|
+
same row with no `dataType` and an array of numeric ids saved every id as a
|
|
16204
|
+
selection.
|
|
16137
16205
|
internalId:
|
|
16138
16206
|
type: boolean
|
|
16139
|
-
description:
|
|
16207
|
+
description: |-
|
|
16208
|
+
When true, the value is a NetSuite internal ID reference — the mapper's
|
|
16209
|
+
"(InternalId)" destination row, stored on the base field id in `generate` rather
|
|
16210
|
+
than as a `<field>.internalid` suffix.
|
|
16140
16211
|
immutable:
|
|
16141
16212
|
type: boolean
|
|
16142
16213
|
description: When true, this field is only set on record creation, not on updates.
|
package/package.json
CHANGED