@celigo/api-specs 0.2.72 → 0.2.74

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 CHANGED
@@ -4891,16 +4891,16 @@ components:
4891
4891
  netsuite: NetSuite ERP connection using token-based authentication (TBA).
4892
4892
  salesforce: Salesforce CRM connection with OAuth 2.0 authentication.
4893
4893
  ftp: FTP, SFTP, or FTPS file transfer connection.
4894
- s3: Amazon S3 cloud storage connection.
4894
+ s3: Amazon S3 cloud storage connection, authenticated with an access key pair or an AWS IAM role (`s3.authType`).
4895
4895
  wrapper: Wrapper connection that delegates to another connection type.
4896
4896
  http: Generic HTTP/REST API connection with full configuration control.
4897
- rdbms: Relational database connection (MySQL, PostgreSQL, Snowflake, etc.).
4897
+ rdbms: Native relational-database connection — MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, Azure Synapse, Oracle, Snowflake, Google BigQuery, Amazon Redshift (the database is `rdbms.type`).
4898
4898
  mongodb: MongoDB NoSQL database connection.
4899
4899
  as2: AS2 (Applicability Statement 2) EDI connection.
4900
4900
  filesystem: Local or network filesystem connection (requires an Agent).
4901
4901
  mcp: MCP (Model Context Protocol) server connection.
4902
4902
  dynamodb: Amazon DynamoDB NoSQL database connection.
4903
- jdbc: JDBC database connection for systems not covered by RDBMS.
4903
+ jdbc: JDBC connection for relational systems without a native `rdbms` type (Databricks, Db2, Workday, NetSuite JDBC) and for the driver-specific paths `jdbc.type` names (Oracle Thin, SQL Server with Active Directory); Redshift, BigQuery and Snowflake are `rdbms` types.
4904
4904
  van: Value-Added Network connection for EDI document exchange.
4905
4905
  rest: REST connection driven by a pre-built HTTP Connector template. Deprecated — use `http` instead.
4906
4906
  externalId:
@@ -5777,26 +5777,39 @@ components:
5777
5777
  (s3:GetObject, s3:PutObject, s3:ListBucket, etc.). Used when authType is `accesskey`.
5778
5778
  examples:
5779
5779
  - AKIAIOSFODNN7EXAMPLE
5780
- x-celigo-ui-override: The connection form marks accessKeyId required (the form only exposes static-key auth). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
5780
+ x-celigo-ui-override: The connection form marks accessKeyId required when Auth type is "Access key & secret" (`accesskey`) and removes it when Auth type is "IAM role" (`awsIam`). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
5781
5781
  secretAccessKey:
5782
5782
  type: string
5783
5783
  writeOnly: true
5784
5784
  description: AWS secret access key, paired with accessKeyId. Used when authType is `accesskey`. Encrypted at rest; returned masked as `"******"`.
5785
5785
  examples:
5786
5786
  - wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
5787
- x-celigo-ui-override: The connection form marks secretAccessKey required (the form only exposes static-key auth). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
5787
+ x-celigo-ui-override: The connection form marks secretAccessKey required when Auth type is "Access key & secret" (`accesskey`) and removes it when Auth type is "IAM role" (`awsIam`). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
5788
5788
  _iClientId:
5789
5789
  type: string
5790
5790
  format: objectId
5791
5791
  x-celigo-refModel: iclients
5792
5792
  description: |-
5793
5793
  Reference to an iClient that holds AWS IAM role credentials. Required when authType is
5794
- `awsIam`; ignored otherwise.
5794
+ `awsIam`; ignored otherwise. The iClient must carry `awsIam.roleArn`, and that role's name
5795
+ must start with `celigo-file-adaptor-` — the S3 service assumes only roles in that family,
5796
+ so a role created for an HTTP or Redshift connection cannot be reused here.
5795
5797
  examples:
5796
5798
  - 65f99e3e6b5b420fea998454
5797
5799
  x-celigo-ai-guidance:
5798
5800
  - When authType is "awsIam", set _iClientId to an existing iClient; omitting it fails the POST with 422 "Expected field: _iClientId to be present."
5799
5801
  - The referenced iClient must itself be an awsIam-provider iClient; referencing any other iClient fails the POST with 422 "IClient provider must be awsIam for S3 IAM Role authentication."
5802
+ - |-
5803
+ The referenced iClient must have awsIam.roleArn set (otherwise 422 missing_required_field on
5804
+ s3._iClientId "Expected field: awsIam.roleArn to be present.") and its role name must start
5805
+ with "celigo-file-adaptor-" (otherwise 422 invalid_field_value on s3._iClientId "Invalid
5806
+ value for field \"_iClientId\": Your role ARN's name must begin with celigo-file-adaptor.").
5807
+ Point an S3 connection at an iClient whose role was named for S3; do not reuse a
5808
+ celigo-http-adaptor- or celigo-data-warehouse-adaptor- role.
5809
+ - |-
5810
+ With authType "awsIam", omit accessKeyId and secretAccessKey — the API does not reject
5811
+ them, it stores them alongside the iClient reference, leaving a stray static credential
5812
+ on a connection that no longer uses one.
5800
5813
  pingBucket:
5801
5814
  type: string
5802
5815
  description: |-
@@ -7872,9 +7885,26 @@ components:
7872
7885
  rdbms object. Required when type is `mssql` and `mssql.authType` is
7873
7886
  `azure-service-principal` (Azure service-principal credentials), and
7874
7887
  when type is `redshift` and `redshift.authType` is `awsIam` (an
7875
- `awsIam`-provider iClient holding the role ARN to assume).
7888
+ `awsIam`-provider iClient holding the role ARN to assume). For
7889
+ Redshift the iClient must carry `awsIam.roleArn`, and that role's name
7890
+ must start with `celigo-data-warehouse-adaptor-` — the data-warehouse
7891
+ service assumes only roles in that family, so a role created for an S3
7892
+ or HTTP connection cannot be reused here.
7876
7893
  examples:
7877
7894
  - 66a1b2c3d4e5f60718293a4b
7895
+ x-celigo-ai-guidance:
7896
+ - |-
7897
+ For a Redshift connection with redshift.authType "awsIam", the referenced iClient must
7898
+ have awsIam.roleArn set (otherwise 422 missing_required_field on rdbms._iClientId
7899
+ "Expected field: awsIam.roleArn to be present.") and its role name must start with
7900
+ "celigo-data-warehouse-adaptor-" (otherwise 422 invalid_field_value on rdbms._iClientId
7901
+ "Invalid value for field \"_iClientId\": Your role ARN's name must begin with
7902
+ celigo-data-warehouse-adaptor."). Do not reuse a celigo-file-adaptor- or
7903
+ celigo-http-adaptor- role.
7904
+ - |-
7905
+ With redshift.authType "awsIam", omit the top-level user and password — the API does not
7906
+ reject them, it stores them on a connection whose form has no field that could ever
7907
+ clear them; the database user is derived from the assumed role at runtime.
7878
7908
  if:
7879
7909
  properties:
7880
7910
  type:
@@ -666,6 +666,27 @@ paths:
666
666
  - field: http._iClientId
667
667
  code: invalid_field_value
668
668
  message: HTTP IAM Role authentication requires awsIam.roleArn to reference a role name starting with celigo-http-adaptor-.
669
+ awsIamRoleArnMissingOnS3:
670
+ summary: S3 awsIam connection referencing an iClient without roleArn
671
+ value:
672
+ errors:
673
+ - field: s3._iClientId
674
+ code: missing_required_field
675
+ message: 'Expected field: awsIam.roleArn to be present.'
676
+ awsIamRoleArnPrefixS3:
677
+ summary: S3 awsIam iClient whose role name lacks the celigo-file-adaptor- prefix
678
+ value:
679
+ errors:
680
+ - field: s3._iClientId
681
+ code: invalid_field_value
682
+ message: 'Invalid value for field "_iClientId": Your role ARN''s name must begin with celigo-file-adaptor.'
683
+ awsIamRoleArnPrefixRedshift:
684
+ summary: Redshift awsIam iClient whose role name lacks the celigo-data-warehouse-adaptor- prefix
685
+ value:
686
+ errors:
687
+ - field: rdbms._iClientId
688
+ code: invalid_field_value
689
+ message: 'Invalid value for field "_iClientId": Your role ARN''s name must begin with celigo-data-warehouse-adaptor.'
669
690
  iClientOtherAccount:
670
691
  summary: iClient owned by another account
671
692
  value:
@@ -3124,16 +3145,16 @@ components:
3124
3145
  netsuite: NetSuite ERP connection using token-based authentication (TBA).
3125
3146
  salesforce: Salesforce CRM connection with OAuth 2.0 authentication.
3126
3147
  ftp: FTP, SFTP, or FTPS file transfer connection.
3127
- s3: Amazon S3 cloud storage connection.
3148
+ s3: Amazon S3 cloud storage connection, authenticated with an access key pair or an AWS IAM role (`s3.authType`).
3128
3149
  wrapper: Wrapper connection that delegates to another connection type.
3129
3150
  http: Generic HTTP/REST API connection with full configuration control.
3130
- rdbms: Relational database connection (MySQL, PostgreSQL, Snowflake, etc.).
3151
+ rdbms: Native relational-database connection — MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, Azure Synapse, Oracle, Snowflake, Google BigQuery, Amazon Redshift (the database is `rdbms.type`).
3131
3152
  mongodb: MongoDB NoSQL database connection.
3132
3153
  as2: AS2 (Applicability Statement 2) EDI connection.
3133
3154
  filesystem: Local or network filesystem connection (requires an Agent).
3134
3155
  mcp: MCP (Model Context Protocol) server connection.
3135
3156
  dynamodb: Amazon DynamoDB NoSQL database connection.
3136
- jdbc: JDBC database connection for systems not covered by RDBMS.
3157
+ jdbc: JDBC connection for relational systems without a native `rdbms` type (Databricks, Db2, Workday, NetSuite JDBC) and for the driver-specific paths `jdbc.type` names (Oracle Thin, SQL Server with Active Directory); Redshift, BigQuery and Snowflake are `rdbms` types.
3137
3158
  van: Value-Added Network connection for EDI document exchange.
3138
3159
  rest: REST connection driven by a pre-built HTTP Connector template. Deprecated — use `http` instead.
3139
3160
  externalId:
@@ -4010,26 +4031,39 @@ components:
4010
4031
  (s3:GetObject, s3:PutObject, s3:ListBucket, etc.). Used when authType is `accesskey`.
4011
4032
  examples:
4012
4033
  - AKIAIOSFODNN7EXAMPLE
4013
- x-celigo-ui-override: The connection form marks accessKeyId required (the form only exposes static-key auth). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
4034
+ x-celigo-ui-override: The connection form marks accessKeyId required when Auth type is "Access key & secret" (`accesskey`) and removes it when Auth type is "IAM role" (`awsIam`). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
4014
4035
  secretAccessKey:
4015
4036
  type: string
4016
4037
  writeOnly: true
4017
4038
  description: AWS secret access key, paired with accessKeyId. Used when authType is `accesskey`. Encrypted at rest; returned masked as `"******"`.
4018
4039
  examples:
4019
4040
  - wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
4020
- x-celigo-ui-override: The connection form marks secretAccessKey required (the form only exposes static-key auth). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
4041
+ x-celigo-ui-override: The connection form marks secretAccessKey required when Auth type is "Access key & secret" (`accesskey`) and removes it when Auth type is "IAM role" (`awsIam`). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
4021
4042
  _iClientId:
4022
4043
  type: string
4023
4044
  format: objectId
4024
4045
  x-celigo-refModel: iclients
4025
4046
  description: |-
4026
4047
  Reference to an iClient that holds AWS IAM role credentials. Required when authType is
4027
- `awsIam`; ignored otherwise.
4048
+ `awsIam`; ignored otherwise. The iClient must carry `awsIam.roleArn`, and that role's name
4049
+ must start with `celigo-file-adaptor-` — the S3 service assumes only roles in that family,
4050
+ so a role created for an HTTP or Redshift connection cannot be reused here.
4028
4051
  examples:
4029
4052
  - 65f99e3e6b5b420fea998454
4030
4053
  x-celigo-ai-guidance:
4031
4054
  - When authType is "awsIam", set _iClientId to an existing iClient; omitting it fails the POST with 422 "Expected field: _iClientId to be present."
4032
4055
  - The referenced iClient must itself be an awsIam-provider iClient; referencing any other iClient fails the POST with 422 "IClient provider must be awsIam for S3 IAM Role authentication."
4056
+ - |-
4057
+ The referenced iClient must have awsIam.roleArn set (otherwise 422 missing_required_field on
4058
+ s3._iClientId "Expected field: awsIam.roleArn to be present.") and its role name must start
4059
+ with "celigo-file-adaptor-" (otherwise 422 invalid_field_value on s3._iClientId "Invalid
4060
+ value for field \"_iClientId\": Your role ARN's name must begin with celigo-file-adaptor.").
4061
+ Point an S3 connection at an iClient whose role was named for S3; do not reuse a
4062
+ celigo-http-adaptor- or celigo-data-warehouse-adaptor- role.
4063
+ - |-
4064
+ With authType "awsIam", omit accessKeyId and secretAccessKey — the API does not reject
4065
+ them, it stores them alongside the iClient reference, leaving a stray static credential
4066
+ on a connection that no longer uses one.
4033
4067
  pingBucket:
4034
4068
  type: string
4035
4069
  description: |-
@@ -6105,9 +6139,26 @@ components:
6105
6139
  rdbms object. Required when type is `mssql` and `mssql.authType` is
6106
6140
  `azure-service-principal` (Azure service-principal credentials), and
6107
6141
  when type is `redshift` and `redshift.authType` is `awsIam` (an
6108
- `awsIam`-provider iClient holding the role ARN to assume).
6142
+ `awsIam`-provider iClient holding the role ARN to assume). For
6143
+ Redshift the iClient must carry `awsIam.roleArn`, and that role's name
6144
+ must start with `celigo-data-warehouse-adaptor-` — the data-warehouse
6145
+ service assumes only roles in that family, so a role created for an S3
6146
+ or HTTP connection cannot be reused here.
6109
6147
  examples:
6110
6148
  - 66a1b2c3d4e5f60718293a4b
6149
+ x-celigo-ai-guidance:
6150
+ - |-
6151
+ For a Redshift connection with redshift.authType "awsIam", the referenced iClient must
6152
+ have awsIam.roleArn set (otherwise 422 missing_required_field on rdbms._iClientId
6153
+ "Expected field: awsIam.roleArn to be present.") and its role name must start with
6154
+ "celigo-data-warehouse-adaptor-" (otherwise 422 invalid_field_value on rdbms._iClientId
6155
+ "Invalid value for field \"_iClientId\": Your role ARN's name must begin with
6156
+ celigo-data-warehouse-adaptor."). Do not reuse a celigo-file-adaptor- or
6157
+ celigo-http-adaptor- role.
6158
+ - |-
6159
+ With redshift.authType "awsIam", omit the top-level user and password — the API does not
6160
+ reject them, it stores them on a connection whose form has no field that could ever
6161
+ clear them; the database user is derived from the assumed role at runtime.
6111
6162
  if:
6112
6163
  properties:
6113
6164
  type:
@@ -8262,16 +8313,16 @@ components:
8262
8313
  netsuite: NetSuite ERP connection using token-based authentication (TBA).
8263
8314
  salesforce: Salesforce CRM connection with OAuth 2.0 authentication.
8264
8315
  ftp: FTP, SFTP, or FTPS file transfer connection.
8265
- s3: Amazon S3 cloud storage connection.
8316
+ s3: Amazon S3 cloud storage connection, authenticated with an access key pair or an AWS IAM role (`s3.authType`).
8266
8317
  wrapper: Wrapper connection that delegates to another connection type.
8267
8318
  http: Generic HTTP/REST API connection with full configuration control.
8268
- rdbms: Relational database connection (MySQL, PostgreSQL, Snowflake, etc.).
8319
+ rdbms: Native relational-database connection — MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, Azure Synapse, Oracle, Snowflake, Google BigQuery, Amazon Redshift (the database is `rdbms.type`).
8269
8320
  mongodb: MongoDB NoSQL database connection.
8270
8321
  as2: AS2 (Applicability Statement 2) EDI connection.
8271
8322
  filesystem: Local or network filesystem connection (requires an Agent).
8272
8323
  mcp: MCP (Model Context Protocol) server connection.
8273
8324
  dynamodb: Amazon DynamoDB NoSQL database connection.
8274
- jdbc: JDBC database connection for systems not covered by RDBMS.
8325
+ jdbc: JDBC connection for relational systems without a native `rdbms` type (Databricks, Db2, Workday, NetSuite JDBC) and for the driver-specific paths `jdbc.type` names (Oracle Thin, SQL Server with Active Directory); Redshift, BigQuery and Snowflake are `rdbms` types.
8275
8326
  van: Value-Added Network connection for EDI document exchange.
8276
8327
  rest: REST connection driven by a pre-built HTTP Connector template. Deprecated — use `http` instead.
8277
8328
  externalId:
package/dist/enduser.yml CHANGED
@@ -2137,16 +2137,16 @@ components:
2137
2137
  netsuite: NetSuite ERP connection using token-based authentication (TBA).
2138
2138
  salesforce: Salesforce CRM connection with OAuth 2.0 authentication.
2139
2139
  ftp: FTP, SFTP, or FTPS file transfer connection.
2140
- s3: Amazon S3 cloud storage connection.
2140
+ s3: Amazon S3 cloud storage connection, authenticated with an access key pair or an AWS IAM role (`s3.authType`).
2141
2141
  wrapper: Wrapper connection that delegates to another connection type.
2142
2142
  http: Generic HTTP/REST API connection with full configuration control.
2143
- rdbms: Relational database connection (MySQL, PostgreSQL, Snowflake, etc.).
2143
+ rdbms: Native relational-database connection — MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, Azure Synapse, Oracle, Snowflake, Google BigQuery, Amazon Redshift (the database is `rdbms.type`).
2144
2144
  mongodb: MongoDB NoSQL database connection.
2145
2145
  as2: AS2 (Applicability Statement 2) EDI connection.
2146
2146
  filesystem: Local or network filesystem connection (requires an Agent).
2147
2147
  mcp: MCP (Model Context Protocol) server connection.
2148
2148
  dynamodb: Amazon DynamoDB NoSQL database connection.
2149
- jdbc: JDBC database connection for systems not covered by RDBMS.
2149
+ jdbc: JDBC connection for relational systems without a native `rdbms` type (Databricks, Db2, Workday, NetSuite JDBC) and for the driver-specific paths `jdbc.type` names (Oracle Thin, SQL Server with Active Directory); Redshift, BigQuery and Snowflake are `rdbms` types.
2150
2150
  van: Value-Added Network connection for EDI document exchange.
2151
2151
  rest: REST connection driven by a pre-built HTTP Connector template. Deprecated — use `http` instead.
2152
2152
  externalId:
@@ -3023,26 +3023,39 @@ components:
3023
3023
  (s3:GetObject, s3:PutObject, s3:ListBucket, etc.). Used when authType is `accesskey`.
3024
3024
  examples:
3025
3025
  - AKIAIOSFODNN7EXAMPLE
3026
- x-celigo-ui-override: The connection form marks accessKeyId required (the form only exposes static-key auth). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
3026
+ x-celigo-ui-override: The connection form marks accessKeyId required when Auth type is "Access key & secret" (`accesskey`) and removes it when Auth type is "IAM role" (`awsIam`). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
3027
3027
  secretAccessKey:
3028
3028
  type: string
3029
3029
  writeOnly: true
3030
3030
  description: AWS secret access key, paired with accessKeyId. Used when authType is `accesskey`. Encrypted at rest; returned masked as `"******"`.
3031
3031
  examples:
3032
3032
  - wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
3033
- x-celigo-ui-override: The connection form marks secretAccessKey required (the form only exposes static-key auth). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
3033
+ x-celigo-ui-override: The connection form marks secretAccessKey required when Auth type is "Access key & secret" (`accesskey`) and removes it when Auth type is "IAM role" (`awsIam`). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
3034
3034
  _iClientId:
3035
3035
  type: string
3036
3036
  format: objectId
3037
3037
  x-celigo-refModel: iclients
3038
3038
  description: |-
3039
3039
  Reference to an iClient that holds AWS IAM role credentials. Required when authType is
3040
- `awsIam`; ignored otherwise.
3040
+ `awsIam`; ignored otherwise. The iClient must carry `awsIam.roleArn`, and that role's name
3041
+ must start with `celigo-file-adaptor-` — the S3 service assumes only roles in that family,
3042
+ so a role created for an HTTP or Redshift connection cannot be reused here.
3041
3043
  examples:
3042
3044
  - 65f99e3e6b5b420fea998454
3043
3045
  x-celigo-ai-guidance:
3044
3046
  - When authType is "awsIam", set _iClientId to an existing iClient; omitting it fails the POST with 422 "Expected field: _iClientId to be present."
3045
3047
  - The referenced iClient must itself be an awsIam-provider iClient; referencing any other iClient fails the POST with 422 "IClient provider must be awsIam for S3 IAM Role authentication."
3048
+ - |-
3049
+ The referenced iClient must have awsIam.roleArn set (otherwise 422 missing_required_field on
3050
+ s3._iClientId "Expected field: awsIam.roleArn to be present.") and its role name must start
3051
+ with "celigo-file-adaptor-" (otherwise 422 invalid_field_value on s3._iClientId "Invalid
3052
+ value for field \"_iClientId\": Your role ARN's name must begin with celigo-file-adaptor.").
3053
+ Point an S3 connection at an iClient whose role was named for S3; do not reuse a
3054
+ celigo-http-adaptor- or celigo-data-warehouse-adaptor- role.
3055
+ - |-
3056
+ With authType "awsIam", omit accessKeyId and secretAccessKey — the API does not reject
3057
+ them, it stores them alongside the iClient reference, leaving a stray static credential
3058
+ on a connection that no longer uses one.
3046
3059
  pingBucket:
3047
3060
  type: string
3048
3061
  description: |-
@@ -5118,9 +5131,26 @@ components:
5118
5131
  rdbms object. Required when type is `mssql` and `mssql.authType` is
5119
5132
  `azure-service-principal` (Azure service-principal credentials), and
5120
5133
  when type is `redshift` and `redshift.authType` is `awsIam` (an
5121
- `awsIam`-provider iClient holding the role ARN to assume).
5134
+ `awsIam`-provider iClient holding the role ARN to assume). For
5135
+ Redshift the iClient must carry `awsIam.roleArn`, and that role's name
5136
+ must start with `celigo-data-warehouse-adaptor-` — the data-warehouse
5137
+ service assumes only roles in that family, so a role created for an S3
5138
+ or HTTP connection cannot be reused here.
5122
5139
  examples:
5123
5140
  - 66a1b2c3d4e5f60718293a4b
5141
+ x-celigo-ai-guidance:
5142
+ - |-
5143
+ For a Redshift connection with redshift.authType "awsIam", the referenced iClient must
5144
+ have awsIam.roleArn set (otherwise 422 missing_required_field on rdbms._iClientId
5145
+ "Expected field: awsIam.roleArn to be present.") and its role name must start with
5146
+ "celigo-data-warehouse-adaptor-" (otherwise 422 invalid_field_value on rdbms._iClientId
5147
+ "Invalid value for field \"_iClientId\": Your role ARN's name must begin with
5148
+ celigo-data-warehouse-adaptor."). Do not reuse a celigo-file-adaptor- or
5149
+ celigo-http-adaptor- role.
5150
+ - |-
5151
+ With redshift.authType "awsIam", omit the top-level user and password — the API does not
5152
+ reject them, it stores them on a connection whose form has no field that could ever
5153
+ clear them; the database user is derived from the assumed role at runtime.
5124
5154
  if:
5125
5155
  properties:
5126
5156
  type:
package/dist/iclient.yml CHANGED
@@ -4005,7 +4005,9 @@ components:
4005
4005
  (omitting the object fails with 422 `missing_required_field` "The awsIam sub-schema is
4006
4006
  required"). Celigo assumes `roleArn` using `externalId` as the trust-policy external ID.
4007
4007
  The iClient itself saves with `externalId` alone; the connection that references it
4008
- adds its own rules on `roleArn` (see that field).
4008
+ adds its own rules on `roleArn` (see that field). One iClient serves one connection
4009
+ family — Amazon S3, Amazon Redshift, or the AWS HTTP connectors — because each family
4010
+ accepts only roles named with its own prefix.
4009
4011
  required:
4010
4012
  - externalId
4011
4013
  properties:
@@ -4026,19 +4028,31 @@ components:
4026
4028
  pattern: ^arn:[a-z-]+:iam::\d{12}:role/[A-Za-z0-9+=,.@_/-]{1,576}$
4027
4029
  description: |-
4028
4030
  ARN of the AWS IAM role to assume for cross-account access. Optional on the iClient
4029
- (a malformed ARN fails with 422 `invalid_field_value`), but an HTTP connection with
4030
- `auth.type` `awsiam` cannot be saved against this iClient until it is set and its
4031
- role name starts with `celigo-http-adaptor-`.
4031
+ (a malformed ARN fails with 422 `invalid_field_value`), but no connection in IAM-role
4032
+ mode can be saved against this iClient until it is set, and each connection family
4033
+ accepts only its own role-name prefix: `celigo-file-adaptor-` for Amazon S3,
4034
+ `celigo-data-warehouse-adaptor-` for Amazon Redshift, `celigo-http-adaptor-` for the
4035
+ AWS HTTP connectors (`auth.type` `awsiam`).
4032
4036
  x-celigo-ai-guidance:
4033
4037
  - |-
4034
- For an HTTP connection using auth.type "awsiam", name the role
4035
- "celigo-http-adaptor-<anything>" — the connection save fails with 422
4036
- invalid_field_value "HTTP IAM Role authentication requires awsIam.roleArn to
4037
- reference a role name starting with celigo-http-adaptor-." otherwise, and with 422
4038
- missing_required_field "Expected field: awsIam.roleArn to be present." while roleArn
4039
- is unset. The prefix rule is specific to HTTP awsiam connections.
4038
+ Name the role for the connection family that will use this iClient:
4039
+ "celigo-file-adaptor-<anything>" for an S3 connection (s3.authType "awsIam"),
4040
+ "celigo-data-warehouse-adaptor-<anything>" for a Redshift connection
4041
+ (redshift.authType "awsIam"), "celigo-http-adaptor-<anything>" for an HTTP
4042
+ connection (auth.type "awsiam"). One iClient cannot serve two families.
4043
+ - |-
4044
+ While roleArn is unset, every IAM-mode connection save fails with 422
4045
+ missing_required_field "Expected field: awsIam.roleArn to be present." on the
4046
+ connection's _iClientId field. With the wrong prefix the save fails with 422
4047
+ invalid_field_value: on HTTP "HTTP IAM Role authentication requires awsIam.roleArn to
4048
+ reference a role name starting with celigo-http-adaptor-."; on S3 "Invalid value for
4049
+ field \"_iClientId\": Your role ARN's name must begin with celigo-file-adaptor."; on
4050
+ Redshift "Invalid value for field \"_iClientId\": Your role ARN's name must begin with
4051
+ celigo-data-warehouse-adaptor.".
4040
4052
  examples:
4041
4053
  - arn:aws:iam::123456789012:role/celigo-http-adaptor-orders
4054
+ - arn:aws:iam::123456789012:role/celigo-file-adaptor-data-lake
4055
+ - arn:aws:iam::123456789012:role/celigo-data-warehouse-adaptor-analytics
4042
4056
  jwt:
4043
4057
  type: object
4044
4058
  description: |-
@@ -3947,16 +3947,16 @@ components:
3947
3947
  netsuite: NetSuite ERP connection using token-based authentication (TBA).
3948
3948
  salesforce: Salesforce CRM connection with OAuth 2.0 authentication.
3949
3949
  ftp: FTP, SFTP, or FTPS file transfer connection.
3950
- s3: Amazon S3 cloud storage connection.
3950
+ s3: Amazon S3 cloud storage connection, authenticated with an access key pair or an AWS IAM role (`s3.authType`).
3951
3951
  wrapper: Wrapper connection that delegates to another connection type.
3952
3952
  http: Generic HTTP/REST API connection with full configuration control.
3953
- rdbms: Relational database connection (MySQL, PostgreSQL, Snowflake, etc.).
3953
+ rdbms: Native relational-database connection — MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, Azure Synapse, Oracle, Snowflake, Google BigQuery, Amazon Redshift (the database is `rdbms.type`).
3954
3954
  mongodb: MongoDB NoSQL database connection.
3955
3955
  as2: AS2 (Applicability Statement 2) EDI connection.
3956
3956
  filesystem: Local or network filesystem connection (requires an Agent).
3957
3957
  mcp: MCP (Model Context Protocol) server connection.
3958
3958
  dynamodb: Amazon DynamoDB NoSQL database connection.
3959
- jdbc: JDBC database connection for systems not covered by RDBMS.
3959
+ jdbc: JDBC connection for relational systems without a native `rdbms` type (Databricks, Db2, Workday, NetSuite JDBC) and for the driver-specific paths `jdbc.type` names (Oracle Thin, SQL Server with Active Directory); Redshift, BigQuery and Snowflake are `rdbms` types.
3960
3960
  van: Value-Added Network connection for EDI document exchange.
3961
3961
  rest: REST connection driven by a pre-built HTTP Connector template. Deprecated — use `http` instead.
3962
3962
  externalId:
@@ -4833,26 +4833,39 @@ components:
4833
4833
  (s3:GetObject, s3:PutObject, s3:ListBucket, etc.). Used when authType is `accesskey`.
4834
4834
  examples:
4835
4835
  - AKIAIOSFODNN7EXAMPLE
4836
- x-celigo-ui-override: The connection form marks accessKeyId required (the form only exposes static-key auth). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
4836
+ x-celigo-ui-override: The connection form marks accessKeyId required when Auth type is "Access key & secret" (`accesskey`) and removes it when Auth type is "IAM role" (`awsIam`). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
4837
4837
  secretAccessKey:
4838
4838
  type: string
4839
4839
  writeOnly: true
4840
4840
  description: AWS secret access key, paired with accessKeyId. Used when authType is `accesskey`. Encrypted at rest; returned masked as `"******"`.
4841
4841
  examples:
4842
4842
  - wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
4843
- x-celigo-ui-override: The connection form marks secretAccessKey required (the form only exposes static-key auth). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
4843
+ x-celigo-ui-override: The connection form marks secretAccessKey required when Auth type is "Access key & secret" (`accesskey`) and removes it when Auth type is "IAM role" (`awsIam`). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
4844
4844
  _iClientId:
4845
4845
  type: string
4846
4846
  format: objectId
4847
4847
  x-celigo-refModel: iclients
4848
4848
  description: |-
4849
4849
  Reference to an iClient that holds AWS IAM role credentials. Required when authType is
4850
- `awsIam`; ignored otherwise.
4850
+ `awsIam`; ignored otherwise. The iClient must carry `awsIam.roleArn`, and that role's name
4851
+ must start with `celigo-file-adaptor-` — the S3 service assumes only roles in that family,
4852
+ so a role created for an HTTP or Redshift connection cannot be reused here.
4851
4853
  examples:
4852
4854
  - 65f99e3e6b5b420fea998454
4853
4855
  x-celigo-ai-guidance:
4854
4856
  - When authType is "awsIam", set _iClientId to an existing iClient; omitting it fails the POST with 422 "Expected field: _iClientId to be present."
4855
4857
  - The referenced iClient must itself be an awsIam-provider iClient; referencing any other iClient fails the POST with 422 "IClient provider must be awsIam for S3 IAM Role authentication."
4858
+ - |-
4859
+ The referenced iClient must have awsIam.roleArn set (otherwise 422 missing_required_field on
4860
+ s3._iClientId "Expected field: awsIam.roleArn to be present.") and its role name must start
4861
+ with "celigo-file-adaptor-" (otherwise 422 invalid_field_value on s3._iClientId "Invalid
4862
+ value for field \"_iClientId\": Your role ARN's name must begin with celigo-file-adaptor.").
4863
+ Point an S3 connection at an iClient whose role was named for S3; do not reuse a
4864
+ celigo-http-adaptor- or celigo-data-warehouse-adaptor- role.
4865
+ - |-
4866
+ With authType "awsIam", omit accessKeyId and secretAccessKey — the API does not reject
4867
+ them, it stores them alongside the iClient reference, leaving a stray static credential
4868
+ on a connection that no longer uses one.
4856
4869
  pingBucket:
4857
4870
  type: string
4858
4871
  description: |-
@@ -6928,9 +6941,26 @@ components:
6928
6941
  rdbms object. Required when type is `mssql` and `mssql.authType` is
6929
6942
  `azure-service-principal` (Azure service-principal credentials), and
6930
6943
  when type is `redshift` and `redshift.authType` is `awsIam` (an
6931
- `awsIam`-provider iClient holding the role ARN to assume).
6944
+ `awsIam`-provider iClient holding the role ARN to assume). For
6945
+ Redshift the iClient must carry `awsIam.roleArn`, and that role's name
6946
+ must start with `celigo-data-warehouse-adaptor-` — the data-warehouse
6947
+ service assumes only roles in that family, so a role created for an S3
6948
+ or HTTP connection cannot be reused here.
6932
6949
  examples:
6933
6950
  - 66a1b2c3d4e5f60718293a4b
6951
+ x-celigo-ai-guidance:
6952
+ - |-
6953
+ For a Redshift connection with redshift.authType "awsIam", the referenced iClient must
6954
+ have awsIam.roleArn set (otherwise 422 missing_required_field on rdbms._iClientId
6955
+ "Expected field: awsIam.roleArn to be present.") and its role name must start with
6956
+ "celigo-data-warehouse-adaptor-" (otherwise 422 invalid_field_value on rdbms._iClientId
6957
+ "Invalid value for field \"_iClientId\": Your role ARN's name must begin with
6958
+ celigo-data-warehouse-adaptor."). Do not reuse a celigo-file-adaptor- or
6959
+ celigo-http-adaptor- role.
6960
+ - |-
6961
+ With redshift.authType "awsIam", omit the top-level user and password — the API does not
6962
+ reject them, it stores them on a connection whose form has no field that could ever
6963
+ clear them; the database user is derived from the assumed role at runtime.
6934
6964
  if:
6935
6965
  properties:
6936
6966
  type:
package/dist/tool.yml CHANGED
@@ -6562,16 +6562,16 @@ components:
6562
6562
  netsuite: NetSuite ERP connection using token-based authentication (TBA).
6563
6563
  salesforce: Salesforce CRM connection with OAuth 2.0 authentication.
6564
6564
  ftp: FTP, SFTP, or FTPS file transfer connection.
6565
- s3: Amazon S3 cloud storage connection.
6565
+ s3: Amazon S3 cloud storage connection, authenticated with an access key pair or an AWS IAM role (`s3.authType`).
6566
6566
  wrapper: Wrapper connection that delegates to another connection type.
6567
6567
  http: Generic HTTP/REST API connection with full configuration control.
6568
- rdbms: Relational database connection (MySQL, PostgreSQL, Snowflake, etc.).
6568
+ rdbms: Native relational-database connection — MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, Azure Synapse, Oracle, Snowflake, Google BigQuery, Amazon Redshift (the database is `rdbms.type`).
6569
6569
  mongodb: MongoDB NoSQL database connection.
6570
6570
  as2: AS2 (Applicability Statement 2) EDI connection.
6571
6571
  filesystem: Local or network filesystem connection (requires an Agent).
6572
6572
  mcp: MCP (Model Context Protocol) server connection.
6573
6573
  dynamodb: Amazon DynamoDB NoSQL database connection.
6574
- jdbc: JDBC database connection for systems not covered by RDBMS.
6574
+ jdbc: JDBC connection for relational systems without a native `rdbms` type (Databricks, Db2, Workday, NetSuite JDBC) and for the driver-specific paths `jdbc.type` names (Oracle Thin, SQL Server with Active Directory); Redshift, BigQuery and Snowflake are `rdbms` types.
6575
6575
  van: Value-Added Network connection for EDI document exchange.
6576
6576
  rest: REST connection driven by a pre-built HTTP Connector template. Deprecated — use `http` instead.
6577
6577
  externalId:
@@ -7448,26 +7448,39 @@ components:
7448
7448
  (s3:GetObject, s3:PutObject, s3:ListBucket, etc.). Used when authType is `accesskey`.
7449
7449
  examples:
7450
7450
  - AKIAIOSFODNN7EXAMPLE
7451
- x-celigo-ui-override: The connection form marks accessKeyId required (the form only exposes static-key auth). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
7451
+ x-celigo-ui-override: The connection form marks accessKeyId required when Auth type is "Access key & secret" (`accesskey`) and removes it when Auth type is "IAM role" (`awsIam`). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
7452
7452
  secretAccessKey:
7453
7453
  type: string
7454
7454
  writeOnly: true
7455
7455
  description: AWS secret access key, paired with accessKeyId. Used when authType is `accesskey`. Encrypted at rest; returned masked as `"******"`.
7456
7456
  examples:
7457
7457
  - wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
7458
- x-celigo-ui-override: The connection form marks secretAccessKey required (the form only exposes static-key auth). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
7458
+ x-celigo-ui-override: The connection form marks secretAccessKey required when Auth type is "Access key & secret" (`accesskey`) and removes it when Auth type is "IAM role" (`awsIam`). The API enforces it for authType `accesskey` (POST without it returns 422 missing_required_field) — encoded via the if/then/else rule below.
7459
7459
  _iClientId:
7460
7460
  type: string
7461
7461
  format: objectId
7462
7462
  x-celigo-refModel: iclients
7463
7463
  description: |-
7464
7464
  Reference to an iClient that holds AWS IAM role credentials. Required when authType is
7465
- `awsIam`; ignored otherwise.
7465
+ `awsIam`; ignored otherwise. The iClient must carry `awsIam.roleArn`, and that role's name
7466
+ must start with `celigo-file-adaptor-` — the S3 service assumes only roles in that family,
7467
+ so a role created for an HTTP or Redshift connection cannot be reused here.
7466
7468
  examples:
7467
7469
  - 65f99e3e6b5b420fea998454
7468
7470
  x-celigo-ai-guidance:
7469
7471
  - When authType is "awsIam", set _iClientId to an existing iClient; omitting it fails the POST with 422 "Expected field: _iClientId to be present."
7470
7472
  - The referenced iClient must itself be an awsIam-provider iClient; referencing any other iClient fails the POST with 422 "IClient provider must be awsIam for S3 IAM Role authentication."
7473
+ - |-
7474
+ The referenced iClient must have awsIam.roleArn set (otherwise 422 missing_required_field on
7475
+ s3._iClientId "Expected field: awsIam.roleArn to be present.") and its role name must start
7476
+ with "celigo-file-adaptor-" (otherwise 422 invalid_field_value on s3._iClientId "Invalid
7477
+ value for field \"_iClientId\": Your role ARN's name must begin with celigo-file-adaptor.").
7478
+ Point an S3 connection at an iClient whose role was named for S3; do not reuse a
7479
+ celigo-http-adaptor- or celigo-data-warehouse-adaptor- role.
7480
+ - |-
7481
+ With authType "awsIam", omit accessKeyId and secretAccessKey — the API does not reject
7482
+ them, it stores them alongside the iClient reference, leaving a stray static credential
7483
+ on a connection that no longer uses one.
7471
7484
  pingBucket:
7472
7485
  type: string
7473
7486
  description: |-
@@ -9543,9 +9556,26 @@ components:
9543
9556
  rdbms object. Required when type is `mssql` and `mssql.authType` is
9544
9557
  `azure-service-principal` (Azure service-principal credentials), and
9545
9558
  when type is `redshift` and `redshift.authType` is `awsIam` (an
9546
- `awsIam`-provider iClient holding the role ARN to assume).
9559
+ `awsIam`-provider iClient holding the role ARN to assume). For
9560
+ Redshift the iClient must carry `awsIam.roleArn`, and that role's name
9561
+ must start with `celigo-data-warehouse-adaptor-` — the data-warehouse
9562
+ service assumes only roles in that family, so a role created for an S3
9563
+ or HTTP connection cannot be reused here.
9547
9564
  examples:
9548
9565
  - 66a1b2c3d4e5f60718293a4b
9566
+ x-celigo-ai-guidance:
9567
+ - |-
9568
+ For a Redshift connection with redshift.authType "awsIam", the referenced iClient must
9569
+ have awsIam.roleArn set (otherwise 422 missing_required_field on rdbms._iClientId
9570
+ "Expected field: awsIam.roleArn to be present.") and its role name must start with
9571
+ "celigo-data-warehouse-adaptor-" (otherwise 422 invalid_field_value on rdbms._iClientId
9572
+ "Invalid value for field \"_iClientId\": Your role ARN's name must begin with
9573
+ celigo-data-warehouse-adaptor."). Do not reuse a celigo-file-adaptor- or
9574
+ celigo-http-adaptor- role.
9575
+ - |-
9576
+ With redshift.authType "awsIam", omit the top-level user and password — the API does not
9577
+ reject them, it stores them on a connection whose form has no field that could ever
9578
+ clear them; the database user is derived from the assumed role at runtime.
9549
9579
  if:
9550
9580
  properties:
9551
9581
  type:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.72",
3
+ "version": "0.2.74",
4
4
  "private": false,
5
5
  "description": "Public OpenAPI bundles (dist/) and the celigo-cli lint schema pack (schemas.json).",
6
6
  "keywords": [
package/schemas.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "provenance": {
3
3
  "repo": "celigo/integrator-api-specs",
4
- "iasCommit": "77f1be1",
5
- "generatedAt": "2026-10-03"
4
+ "iasCommit": "d7dc6ff",
5
+ "generatedAt": "2026-10-05"
6
6
  },
7
7
  "roots": {
8
8
  "aiagent": 133,