@celigo/api-specs 0.2.103 → 0.2.104

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/enduser.yml CHANGED
@@ -4726,11 +4726,12 @@ components:
4726
4726
  - `database` — required for every type EXCEPT `oracle` (uses `serviceName`)
4727
4727
  and `bigquery` (uses `bigquery.dataset`).
4728
4728
  - `user` — required for every type EXCEPT `bigquery`, `redshift`, and
4729
- `mssql` with `mssql.authType=azure-service-principal`.
4729
+ `mssql` / `azuresynapse` with `mssql.authType=azure-service-principal`.
4730
4730
  - `password` — required when no SSL cert material is provided AND the
4731
- type is NOT `bigquery`, `redshift`, `snowflake`, or `mssql` with
4732
- `azure-service-principal` auth. When SSL cert material IS provided
4733
- without a password, both `ssl.key` and `ssl.cert` become required.
4731
+ type is NOT `bigquery`, `redshift`, `snowflake`, or `mssql` /
4732
+ `azuresynapse` with `azure-service-principal` auth. When SSL cert
4733
+ material IS provided without a password, both `ssl.key` and `ssl.cert`
4734
+ become required.
4734
4735
  - **Snowflake** — additionally requires `snowflake.warehouse` and
4735
4736
  `snowflake.authType`. When `snowflake.authType=keyPair`, also
4736
4737
  requires the `key` field at the rdbms level (the RSA private key).
@@ -4746,8 +4747,14 @@ components:
4746
4747
  iClient holding the role ARN) plus exactly one of
4747
4748
  `redshift.clusterIdentifier` (provisioned cluster) or
4748
4749
  `redshift.workgroupName` (Redshift Serverless).
4749
- - **MSSQL with `mssql.authType=azure-service-principal`** — requires
4750
- `_iClientId` (service principal credentials live in the iClient).
4750
+ - **MSSQL / Azure Synapse with `mssql.authType=azure-service-principal`**
4751
+ — requires `_iClientId` referencing an `azureserviceprincipal` iClient
4752
+ (the Microsoft Entra tenant id, client id and client secret or
4753
+ certificate live in the iClient); `user` and `password` are not used.
4754
+ `_iClientId` with `basic` auth is rejected. Both types share the
4755
+ `mssql` sub-object; `azuresynapse` is cloud-only, and the SQL Server
4756
+ connection form offers service-principal auth in Cloud mode only — it
4757
+ saves `basic` for an on-premise connection (`_agentId` set).
4751
4758
  - **Oracle** — runs in agent mode only, so requires `_agentId` on the
4752
4759
  parent connection object. Uses `serviceName` instead of `database`.
4753
4760
  Optionally also takes `serverType` and `instanceName`.
@@ -4840,8 +4847,10 @@ components:
4840
4847
  user:
4841
4848
  type: string
4842
4849
  description: |
4843
- Database username for authentication.
4844
- Required for all types except BigQuery (which uses service account auth).
4850
+ Database username for authentication. Required for all types except
4851
+ BigQuery (service account auth), Redshift, and `mssql` / `azuresynapse`
4852
+ with `mssql.authType=azure-service-principal`, where the Entra principal
4853
+ in the iClient signs in and a `user` sent anyway is stored unused.
4845
4854
  examples:
4846
4855
  - integration_user
4847
4856
  password:
@@ -4968,8 +4977,11 @@ components:
4968
4977
  - keyPair
4969
4978
  mssql:
4970
4979
  type: object
4971
- description: |
4972
- Microsoft SQL Server / Azure Synapse-specific configuration.
4980
+ description: |-
4981
+ Microsoft SQL Server / Azure Synapse-specific configuration. Read for
4982
+ both the `mssql` and the `azuresynapse` types — Azure Synapse
4983
+ Analytics shares SQL Server's authentication model and this
4984
+ sub-object.
4973
4985
  properties:
4974
4986
  authType:
4975
4987
  type: string
@@ -4977,14 +4989,30 @@ components:
4977
4989
  - basic
4978
4990
  - azure-service-principal
4979
4991
  x-enumDescriptions:
4980
- basic: Standard SQL Server authentication with username and password.
4981
- azure-service-principal: Azure Active Directory service principal authentication via iClient.
4992
+ basic: Database user — SQL authentication with `user` and `password`
4993
+ azure-service-principal: Microsoft Entra service principal held in the `azureserviceprincipal` iClient referenced by `_iClientId`; `user` and `password` are not used
4982
4994
  description: |-
4983
- Authentication type for MS SQL Server. Defaults to basic (username/password).
4984
- Use azure-service-principal for Azure AD service principal auth via an iClient.
4995
+ How a Microsoft SQL Server or Azure Synapse connection
4996
+ authenticates. Defaults to `basic` when omitted (the connection
4997
+ form's "Database user"). With `azure-service-principal` the
4998
+ connection signs in as the Entra application registered in the
4999
+ iClient — a client secret, or on SQL Server a certificate — and
5000
+ `_iClientId` must reference it. The SQL Server connection form
5001
+ offers `azure-service-principal` in Cloud mode only and saves
5002
+ `basic` for an on-premise connection (`_agentId` set).
4985
5003
  default: basic
4986
5004
  examples:
4987
5005
  - basic
5006
+ x-celigo-ai-guidance:
5007
+ - |-
5008
+ With azure-service-principal, omit user and password: the API does not reject them —
5009
+ it stores them unused on the connection (live-verified 201 with both present), while
5010
+ the connection form removes them on save. Set them only for basic.
5011
+ - |-
5012
+ A certificate-method azureserviceprincipal iClient is offered by the form on Microsoft
5013
+ SQL Server connections only; the Azure Synapse form's picker lists client-secret
5014
+ iClients. The API accepts either on either type (live-verified 201), so follow the
5015
+ form: bind a certificate iClient to mssql connections only.
4988
5016
  bigquery:
4989
5017
  type: object
4990
5018
  description: |
@@ -5165,10 +5193,13 @@ components:
5165
5193
  x-celigo-refModel: iclients
5166
5194
  description: |-
5167
5195
  Reference to an iClient holding auth credentials, stored inside the
5168
- rdbms object. Required when type is `mssql` and `mssql.authType` is
5169
- `azure-service-principal` (Azure service-principal credentials), and
5170
- when type is `redshift` and `redshift.authType` is `awsIam` (an
5171
- `awsIam`-provider iClient holding the role ARN to assume). For
5196
+ rdbms object. Required when type is `mssql` or `azuresynapse` and
5197
+ `mssql.authType` is `azure-service-principal` (an
5198
+ `azureserviceprincipal` iClient — the Microsoft Entra tenant id,
5199
+ client id and client secret or certificate), and when type is
5200
+ `redshift` and `redshift.authType` is `awsIam` (an `awsIam`-provider
5201
+ iClient holding the role ARN to assume). On `mssql` / `azuresynapse`
5202
+ it is rejected when `mssql.authType` is `basic` or omitted. For
5172
5203
  Redshift the iClient must carry `awsIam.roleArn`, and that role's name
5173
5204
  must start with `celigo-data-warehouse-adaptor-` — the data-warehouse
5174
5205
  service assumes only roles in that family, so a role created for an S3
@@ -5176,6 +5207,18 @@ components:
5176
5207
  examples:
5177
5208
  - 66a1b2c3d4e5f60718293a4b
5178
5209
  x-celigo-ai-guidance:
5210
+ - |-
5211
+ For a mssql or azuresynapse connection with mssql.authType "azure-service-principal",
5212
+ _iClientId is required (otherwise 422 missing_required_field on rdbms._iClientId
5213
+ "Expected field: _iClientId to be present.") and must reference an azureserviceprincipal
5214
+ iClient (otherwise 422 invalid_field on rdbms._iClientId "IClient provider must be
5215
+ azureserviceprincipal for Service Principal authentication."). The same iClient can back
5216
+ Azure Data Lake Storage Gen2, SQL Server and Synapse connections.
5217
+ - |-
5218
+ With mssql.authType "basic" (or omitted) on mssql / azuresynapse, do not set _iClientId:
5219
+ 422 invalid_field on rdbms._iClientId "The _iClientId field should not be set when using
5220
+ basic authentication. Remove _iClientId or switch to azure-service-principal
5221
+ authentication."
5179
5222
  - |-
5180
5223
  For a Redshift connection with redshift.authType "awsIam", the referenced iClient must
5181
5224
  have awsIam.roleArn set (otherwise 422 missing_required_field on rdbms._iClientId
@@ -5195,7 +5238,6 @@ components:
5195
5238
  - mysql
5196
5239
  - postgresql
5197
5240
  - mariadb
5198
- - azuresynapse
5199
5241
  required:
5200
5242
  - type
5201
5243
  then:
@@ -5239,120 +5281,149 @@ components:
5239
5281
  if:
5240
5282
  properties:
5241
5283
  type:
5242
- const: snowflake
5284
+ const: azuresynapse
5243
5285
  required:
5244
5286
  - type
5245
5287
  then:
5246
- required:
5247
- - host
5248
- - database
5249
- - user
5250
- properties:
5251
- snowflake:
5252
- required:
5253
- - authType
5254
- - warehouse
5255
5288
  if:
5256
5289
  properties:
5257
- snowflake:
5290
+ mssql:
5258
5291
  properties:
5259
5292
  authType:
5260
- const: keyPair
5293
+ const: azure-service-principal
5261
5294
  required:
5262
5295
  - authType
5263
5296
  required:
5264
- - snowflake
5297
+ - mssql
5265
5298
  then:
5266
5299
  required:
5267
- - key
5300
+ - host
5301
+ - database
5302
+ - _iClientId
5268
5303
  else:
5269
5304
  required:
5305
+ - host
5306
+ - database
5307
+ - user
5270
5308
  - password
5271
5309
  else:
5272
5310
  if:
5273
5311
  properties:
5274
5312
  type:
5275
- const: oracle
5313
+ const: snowflake
5276
5314
  required:
5277
5315
  - type
5278
5316
  then:
5279
5317
  required:
5280
5318
  - host
5319
+ - database
5281
5320
  - user
5282
- - password
5321
+ properties:
5322
+ snowflake:
5323
+ required:
5324
+ - authType
5325
+ - warehouse
5326
+ if:
5327
+ properties:
5328
+ snowflake:
5329
+ properties:
5330
+ authType:
5331
+ const: keyPair
5332
+ required:
5333
+ - authType
5334
+ required:
5335
+ - snowflake
5336
+ then:
5337
+ required:
5338
+ - key
5339
+ else:
5340
+ required:
5341
+ - password
5283
5342
  else:
5284
5343
  if:
5285
5344
  properties:
5286
5345
  type:
5287
- const: bigquery
5346
+ const: oracle
5288
5347
  required:
5289
5348
  - type
5290
5349
  then:
5291
5350
  required:
5292
- - bigquery
5293
- properties:
5294
- bigquery:
5295
- required:
5296
- - projectId
5297
- - dataset
5298
- - clientEmail
5299
- - privateKey
5351
+ - host
5352
+ - user
5353
+ - password
5300
5354
  else:
5301
5355
  if:
5302
5356
  properties:
5303
5357
  type:
5304
- const: redshift
5358
+ const: bigquery
5305
5359
  required:
5306
5360
  - type
5307
5361
  then:
5308
5362
  required:
5309
- - database
5310
- - user
5311
- - redshift
5363
+ - bigquery
5312
5364
  properties:
5313
- redshift:
5365
+ bigquery:
5314
5366
  required:
5315
- - region
5367
+ - projectId
5368
+ - dataset
5369
+ - clientEmail
5370
+ - privateKey
5371
+ else:
5316
5372
  if:
5317
- required:
5318
- - redshift
5319
5373
  properties:
5320
- redshift:
5321
- required:
5322
- - authType
5323
- properties:
5324
- authType:
5325
- const: awsIam
5374
+ type:
5375
+ const: redshift
5376
+ required:
5377
+ - type
5326
5378
  then:
5327
5379
  required:
5328
- - _iClientId
5329
- properties:
5330
- redshift:
5331
- oneOf:
5332
- - required:
5333
- - clusterIdentifier
5334
- not:
5335
- required:
5336
- - workgroupName
5337
- - required:
5338
- - workgroupName
5339
- not:
5340
- required:
5341
- - clusterIdentifier
5342
- else:
5380
+ - database
5381
+ - user
5382
+ - redshift
5343
5383
  properties:
5344
5384
  redshift:
5345
5385
  required:
5346
- - aws
5347
- - clusterIdentifier
5348
- not:
5386
+ - region
5387
+ if:
5388
+ required:
5389
+ - redshift
5390
+ properties:
5391
+ redshift:
5349
5392
  required:
5350
- - workgroupName
5351
- properties:
5352
- aws:
5393
+ - authType
5394
+ properties:
5395
+ authType:
5396
+ const: awsIam
5397
+ then:
5398
+ required:
5399
+ - _iClientId
5400
+ properties:
5401
+ redshift:
5402
+ oneOf:
5403
+ - required:
5404
+ - clusterIdentifier
5405
+ not:
5406
+ required:
5407
+ - workgroupName
5408
+ - required:
5409
+ - workgroupName
5410
+ not:
5411
+ required:
5412
+ - clusterIdentifier
5413
+ else:
5414
+ properties:
5415
+ redshift:
5416
+ required:
5417
+ - aws
5418
+ - clusterIdentifier
5419
+ not:
5353
5420
  required:
5354
- - accessKeyId
5355
- - secretAccessKey
5421
+ - workgroupName
5422
+ properties:
5423
+ aws:
5424
+ required:
5425
+ - accessKeyId
5426
+ - secretAccessKey
5356
5427
  MongoDB:
5357
5428
  type: object
5358
5429
  description: |-
@@ -156,8 +156,29 @@ paths:
156
156
  examples:
157
157
  - 683b2a0e1c3d5f001a9e8b03
158
158
  responses:
159
- '204':
160
- description: Multipart upload aborted and the pending item removed.
159
+ '200':
160
+ description: |-
161
+ Multipart upload aborted and the pending item removed. Returns the
162
+ removed item's `_id` and `name`; canceling it again answers 404
163
+ `STORAGE_ITEM_NOT_FOUND`.
164
+ content:
165
+ application/json:
166
+ schema:
167
+ type: object
168
+ required:
169
+ - _id
170
+ - name
171
+ properties:
172
+ _id:
173
+ type: string
174
+ format: objectId
175
+ description: ID of the canceled item.
176
+ name:
177
+ type: string
178
+ description: Name of the canceled item.
179
+ example:
180
+ _id: 683b2a0e1c3d5f001a9e8b03
181
+ name: database-export.sql
161
182
  '401':
162
183
  $ref: '#/components/responses/401-unauthorized'
163
184
  '404':
@@ -2415,9 +2436,11 @@ components:
2415
2436
  type: integer
2416
2437
  minimum: 1
2417
2438
  description: |-
2418
- Total number of parts the file will be split into. Required when
2419
- uploadType is multipart; the response returns presigned URLs for as
2420
- many parts as the part budget allows.
2439
+ Required when uploadType is multipart. On a new upload, the total number
2440
+ of parts the file will be split into; the response returns presigned URLs
2441
+ for as many parts as the part budget allows. On a resume (`_id`,
2442
+ `uploadId`, and `issuedPartsCount` set), the number of further part URLs
2443
+ to issue, numbered on from `issuedPartsCount`.
2421
2444
  examples:
2422
2445
  - 50
2423
2446
  uploadId:
package/dist/iclient.yml CHANGED
@@ -321,7 +321,10 @@ paths:
321
321
  Replaces an iClient. All mutable fields must be provided — omitted
322
322
  fields are reset to defaults. Secrets returned as `"******"` can be
323
323
  sent back as-is to keep the existing value, except a Google service
324
- account: every update must include the full JSON key.
324
+ account: every update must include the full JSON key. An Azure
325
+ service principal keeps its stored `clientSecret` or `certificate`
326
+ when the field is omitted — only a new value replaces it, and
327
+ `certificate` is never returned.
325
328
  operationId: updateIClient
326
329
  tags:
327
330
  - iClients
@@ -639,7 +642,7 @@ components:
639
642
  netsuite: NetSuite token-based authentication.
640
643
  amazonmws: Amazon Marketplace Web Service (MWS) authentication.
641
644
  awsIam: AWS IAM cross-account role authentication (assume-role with an external ID).
642
- azureserviceprincipal: Azure AD service principal (client credentials) authentication.
645
+ azureserviceprincipal: Microsoft Entra service principal (client secret or certificate) for Azure Data Lake Storage Gen2, Microsoft SQL Server and Azure Synapse connections
643
646
  googleserviceaccount: Google Cloud service-account key authentication (JSON key file).
644
647
  integrator: Celigo integrator.io internal authentication.
645
648
  salesforce: Salesforce OAuth 2.0 authentication.
@@ -3933,8 +3936,12 @@ components:
3933
3936
  azureserviceprincipal:
3934
3937
  type: object
3935
3938
  description: |-
3936
- Azure AD service principal credentials. Required when `provider`
3937
- is `azureserviceprincipal`.
3939
+ Microsoft Entra (Azure AD) service principal credentials. Required
3940
+ when `provider` is `azureserviceprincipal`. One iClient of this
3941
+ provider can back Azure Data Lake Storage Gen2, Microsoft SQL Server
3942
+ (cloud) and Azure Synapse Analytics connections; the connection forms
3943
+ offer the certificate method from Microsoft SQL Server connections
3944
+ only.
3938
3945
  required:
3939
3946
  - clientId
3940
3947
  - tenantId
@@ -3951,7 +3958,15 @@ components:
3951
3958
  description: |-
3952
3959
  Which credential the service principal presents. Defaults to
3953
3960
  `client-secret` when omitted. Each method rejects the other
3954
- method's credential fields on save.
3961
+ method's credential fields on save. Changing the method on an
3962
+ update replaces the credential: send the new method's credential
3963
+ and drop the old one.
3964
+ x-celigo-ai-guidance:
3965
+ - |-
3966
+ Under authMethod "certificate", a clientSecret is rejected with 422 invalid_field_value
3967
+ on azureserviceprincipal.clientSecret "Client secret is not used when auth method is
3968
+ certificate."; a missing certificate with 422 missing_required_field on
3969
+ azureserviceprincipal.certificate "Expected field: certificate to be present."
3955
3970
  clientId:
3956
3971
  type: string
3957
3972
  description: Azure AD application (client) ID.
@@ -3962,24 +3977,35 @@ components:
3962
3977
  description: |-
3963
3978
  Azure AD client secret. Required when `authMethod` is
3964
3979
  `client-secret` (or omitted). Returned masked as `"******"`.
3965
- Re-send that value on update to keep it; it is not preserved if omitted.
3980
+ On update the stored secret is kept when the field is omitted or
3981
+ re-sent as the mask; only a new value replaces it.
3966
3982
  certificate:
3967
3983
  type: string
3984
+ writeOnly: true
3968
3985
  description: |-
3969
3986
  PEM bundle (certificate + private key) for certificate auth.
3970
3987
  Required when `authMethod` is `certificate`; rejected under
3971
- `client-secret`. Maximum 20 KiB of PEM text. Returned masked.
3988
+ `client-secret`. Maximum 20 KiB of PEM text. Never returned in
3989
+ responses, not even masked. On update the stored PEM is kept when
3990
+ the field is omitted; only a new value replaces it.
3972
3991
  x-celigo-ai-guidance:
3973
3992
  - |-
3974
3993
  If the PEM's private key is encrypted (BEGIN ENCRYPTED PRIVATE
3975
- KEY / Proc-Type 4,ENCRYPTED), certificatePassword is required;
3994
+ KEY / Proc-Type 4,ENCRYPTED), certificatePassword is required
3995
+ (422 invalid_field_value on azureserviceprincipal.certificatePassword "This
3996
+ certificate's private key is encrypted. Enter the client certificate password.");
3976
3997
  if it is unencrypted, sending certificatePassword is rejected.
3998
+ - |-
3999
+ The save does not check that the PEM is a usable credential — a placeholder PEM
4000
+ carrying the BEGIN CERTIFICATE and BEGIN PRIVATE KEY blocks saves (live-verified
4001
+ 201). Enter the real PEM in the iClient editor before testing a connection that
4002
+ uses the iClient.
3977
4003
  certificatePassword:
3978
4004
  type: string
3979
4005
  description: |-
3980
4006
  Passphrase for an encrypted private key inside `certificate`.
3981
4007
  Required exactly when the PEM's key is encrypted; rejected when
3982
- it is not. Maximum 256 bytes. Returned masked.
4008
+ it is not. Maximum 256 bytes. Returned masked when set.
3983
4009
  tenantId:
3984
4010
  type: string
3985
4011
  description: Azure AD tenant (directory) ID.
@@ -4332,10 +4358,13 @@ components:
4332
4358
  For `custom_oauth2`, credentials go in the `oauth2` sub-object.
4333
4359
  Secrets (`clientSecret`, `privateKey`, and so on) come back masked
4334
4360
  as `"******"`. Re-send that mask on update to keep the stored
4335
- secret; omitting it does not. A Google service account is the
4336
- exception: `serviceAccountJSON` is not returned, and every update
4337
- must send the full key — the mask or an omission fails with 422
4338
- `invalid_json_key`.
4361
+ secret; omitting it does not. Two providers differ. A Google
4362
+ service account: `serviceAccountJSON` is not returned, and every
4363
+ update must send the full key — the mask or an omission fails with
4364
+ 422 `invalid_json_key`. An Azure service principal: the stored
4365
+ `clientSecret` or `certificate` is kept when its field is omitted
4366
+ on update, and only a new value replaces it (`certificate` is never
4367
+ returned, not even masked).
4339
4368
  required:
4340
4369
  - provider
4341
4370
  allOf:
@@ -605,7 +605,7 @@ paths:
605
605
  value: New York
606
606
  - key: ZZ
607
607
  error:
608
- message: Key not found
608
+ message: The requested key does not match any entry in the lookup cache. Check the key.
609
609
  '400':
610
610
  $ref: '#/components/responses/400-bad-request'
611
611
  '401':
@@ -1169,7 +1169,7 @@ components:
1169
1169
  type: string
1170
1170
  description: Human-readable explanation of the miss.
1171
1171
  examples:
1172
- - Key not found
1172
+ - The requested key does not match any entry in the lookup cache. Check the key.
1173
1173
  LookupCacheDataReadResponse:
1174
1174
  type: object
1175
1175
  description: |-