@celigo/api-specs 0.2.153 → 0.2.154

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
@@ -5258,7 +5258,7 @@ components:
5258
5258
  connection's traffic counts against the referenced connection's limit instead of its own,
5259
5259
  and its own concurrency and auto-recovery settings have no effect. One level only: the
5260
5260
  referenced connection may not itself borrow, and a connection that others borrow from
5261
- cannot start borrowing.
5261
+ cannot start borrowing. A connection cannot reference itself (422).
5262
5262
  examples:
5263
5263
  - 615dfa0742763671275b70ab
5264
5264
  x-celigo-ai-guidance:
@@ -5295,16 +5295,21 @@ components:
5295
5295
  type: boolean
5296
5296
  description: |-
5297
5297
  When true, the connection has been taken offline and is skipped during flow execution.
5298
- The platform tests the connection after a create or `PUT` and updates this shortly
5299
- afterwards (the audit log records a `system` change; `lastModified` doesn't move), so
5300
- read it again a few seconds after the write.
5298
+ It is set by the connection test a create or `PUT` runs: the result arrives in the
5299
+ write's response or, when the target is slow to answer, shortly afterwards (the audit
5300
+ log records a `system` change; `lastModified` doesn't move), so read it again a few
5301
+ seconds after the write. On an `http` connection the write runs the test only when
5302
+ `http.ping` is configured, and an `http` connection that was never tested has no
5303
+ `offline` key.
5301
5304
  readOnly: true
5302
5305
  needsAuthorization:
5303
5306
  type: boolean
5304
5307
  readOnly: true
5305
5308
  description: |-
5306
5309
  OAuth handshake state. Celigo's OAuth callback sets it to `false` once the user consents
5307
- and the tokens are stored (see `GET /v1/connection/{_id}/oauth2`).
5310
+ and the tokens are stored (see `GET /v1/connection/{_id}/oauth2`). A connection that
5311
+ was never authorized usually has no `needsAuthorization` key, so its absence does not
5312
+ mean the connection is authorized.
5308
5313
  _sourceId:
5309
5314
  type: string
5310
5315
  format: objectId
@@ -6279,15 +6284,18 @@ components:
6279
6284
  clientId:
6280
6285
  type: string
6281
6286
  description: |
6282
- OAuth client ID (application ID) registered with the API provider.
6283
- Required for all OAuth 2.0 grant types.
6287
+ OAuth client ID (application ID) registered with the API provider. An `http`
6288
+ connection takes the app from a `custom_oauth2` iClient referenced by `http._iClientId`
6289
+ (an `mcp` connection from `mcp.http._iClientId`) and doesn't store this field: a create
6290
+ that sends `clientId` and `clientSecret` here answers 201 without either (and stores
6291
+ `useIClientFields: true` unless `false` is sent).
6284
6292
  examples:
6285
6293
  - 0oa1b2c3d4EXAMPLE5
6286
6294
  clientSecret:
6287
6295
  type: string
6288
6296
  description: |
6289
- OAuth client secret (encrypted at rest).
6290
- Required for "authorizecode" and "clientcredentials" grant types.
6297
+ OAuth client secret (encrypted at rest). Not stored on an `http` connection: the secret
6298
+ belongs on the iClient (see `clientId`).
6291
6299
  writeOnly: true
6292
6300
  examples:
6293
6301
  - cs_abc123EXAMPLE456secret
@@ -6503,9 +6511,11 @@ components:
6503
6511
  - "authorizecode" — Authorization Code flow (browser-based user consent).
6504
6512
  Requires authURI, tokenURI, and user authorization via browser.
6505
6513
  - "clientcredentials" — Client Credentials flow (server-to-server, no user).
6506
- Requires tokenURI, clientId, clientSecret.
6514
+ Requires tokenURI.
6507
6515
  - "password" — Resource Owner Password flow (username/password exchange).
6508
- Requires tokenURI, username, password, clientId, clientSecret.
6516
+ Requires tokenURI, username, password.
6517
+ - On an `http` connection the client ID and secret are never stored here: a
6518
+ `custom_oauth2` iClient referenced by `http._iClientId` supplies them.
6509
6519
  JWT:
6510
6520
  type: object
6511
6521
  description: |-
@@ -841,6 +841,11 @@ paths:
841
841
  `ftp.concurrencyLevel` and `ftp.targetConcurrencyLevel` (the latter is unset whenever
842
842
  `autoRecoverRateLimitErrors` is false). `connectionRole` is read-only here: a body carrying
843
843
  `mcpChild` is rejected.
844
+
845
+ An OAuth connection's `http.auth.oauth.authURI` and `tokenURI` can't change: a body that
846
+ changes either is rejected with 422 "Updating the value in tokenURI is not allowed for oauth
847
+ connections due to security reasons. Please contact celigo support." (and the same for
848
+ `authURI`), and nothing is saved. To move to new OAuth URLs, create a new connection.
844
849
  operationId: updateConnection
845
850
  tags:
846
851
  - Connections
@@ -1028,7 +1033,8 @@ paths:
1028
1033
  borrowed-from connection must exist in the account and may not itself borrow
1029
1034
  (422 `connection_borrows_from_another`), and a connection that others borrow
1030
1035
  from cannot start borrowing (422 `connection_borrowed_by_another`). A
1031
- connection naming itself is accepted, so check the id before sending it.
1036
+ connection can't borrow from itself: naming its own id is rejected with 422 ("… a
1037
+ connection cannot borrow concurrency from itself."), here and on `PUT`.
1032
1038
  Settings-only changes are recorded in the connection's audit log.
1033
1039
  operationId: patchConnection
1034
1040
  tags:
@@ -1134,6 +1140,15 @@ paths:
1134
1140
  Deletes a connection. The connection is soft-deleted and retained in the
1135
1141
  recycle bin for 30 days before permanent removal. Use
1136
1142
  `POST /v1/recycleBinTTL/connections/{_id}` to restore it during that window.
1143
+
1144
+ Rejected with 422 while anything still uses the connection; the message names each
1145
+ blocker — every export or import on it, the flows they are steps of, and any connection
1146
+ whose `_borrowConcurrencyFromConnectionId` points at it (clearing that field is enough).
1147
+ Registration on an integration does not block the delete, and neither do exports, imports
1148
+ or flows already in the recycle bin; but purging the connection early
1149
+ (`DELETE /v1/recycleBinTTL/connections/{_id}`) is rejected with 422 "this document is
1150
+ referenced by Export : …" while a binned export or import still points at it, so purge the
1151
+ flows, then the exports and imports, then the connection.
1137
1152
  operationId: deleteConnection
1138
1153
  tags:
1139
1154
  - Connections
@@ -1161,7 +1176,7 @@ paths:
1161
1176
  - |-
1162
1177
  Soft-deletes the connection into the recycle bin (restorable for 30 days). Check
1163
1178
  `GET /v1/connections/{_id}/dependencies` first — a connection still referenced by flows,
1164
- exports, or imports is rejected with 422.
1179
+ exports, imports, or a borrowing connection is rejected with 422.
1165
1180
  /v1/connections/{_id}/ping:
1166
1181
  get:
1167
1182
  x-internal: false
@@ -1170,7 +1185,8 @@ paths:
1170
1185
  GET variant of the saved-connection ping — identical behavior to
1171
1186
  `POST /v1/connections/{_id}/ping`, with no request body to send. Runs the adaptor's ping
1172
1187
  routine against the connection identified by `_id` to verify its credentials and network
1173
- configuration still work; no data is read, written, or modified.
1188
+ configuration still work; no data is read, written, or modified. An `http` connection with
1189
+ no `http.ping` answers `{code: 200}` without sending any request.
1174
1190
 
1175
1191
  Inspect the response body, not the HTTP status, to determine the outcome: success and
1176
1192
  adaptor-level failures both return HTTP 200 — success is `{code: 200}`, failures are
@@ -1243,16 +1259,20 @@ paths:
1243
1259
  Behaves identically to POST /v1/connections/{_id}/ping and takes no request body — use
1244
1260
  whichever verb the client supports. Both verbs return HTTP 200 with {code: 200} on
1245
1261
  success and HTTP 200 with {errors: [...]} on adaptor-level failure, so inspect the body,
1246
- not the status code.
1262
+ not the status code. On an `http` connection, {code: 200} shows reachability only once
1263
+ `http.ping` is set: with no ping configured, nothing is sent and the answer is always
1264
+ {code: 200}.
1247
1265
  post:
1248
1266
  x-internal: false
1249
1267
  summary: Ping an existing connection
1250
1268
  description: |-
1251
1269
  Runs the adaptor's ping routine against a saved connection to verify its credentials and
1252
1270
  network configuration still work; no data is read, written, or modified. The check is
1253
- adaptor-specific (HTTP runs the ping relativeURI or baseURI, RDBMS/JDBC open a driver
1254
- session, MCP issues a tools/list, NetSuite/Salesforce do a token or session validation).
1255
- The request body is optional and ignored.
1271
+ adaptor-specific (HTTP sends the `http.ping` request, RDBMS/JDBC open a driver session,
1272
+ MCP issues a tools/list, NetSuite/Salesforce do a token or session validation). An `http`
1273
+ connection with no `http.ping` passes with `{code: 200}` without sending any request, so
1274
+ the ping proves nothing about it until a ping is configured. The request body is optional
1275
+ and ignored.
1256
1276
 
1257
1277
  Inspect the response body, not the HTTP status, to determine the outcome: success and
1258
1278
  adaptor-level failures both return HTTP 200 — success is `{code: 200}`, failures are
@@ -1362,6 +1382,10 @@ paths:
1362
1382
  - Test network connectivity
1363
1383
  - Verify permissions for basic operations
1364
1384
  - Return connection status and any error details
1385
+
1386
+ Exception: an `http` connection with no `http.ping` answers {code: 200} without sending
1387
+ any request, so it proves nothing until a ping (ideally one that needs the connection's
1388
+ credentials) is configured.
1365
1389
  /v1/connections/{_id}/proxy:
1366
1390
  post:
1367
1391
  x-internal: false
@@ -2452,6 +2476,9 @@ paths:
2452
2476
  The response is a plain-text stream (not JSON): each entry is a header line
2453
2477
  (`timestamp traceKey resourceType resourceId`) followed by a single-line JSON payload,
2454
2478
  entries separated by blank lines; paired request/response entries share a `traceKey`.
2479
+ A response payload carries only `headers` and `body` — no HTTP status code, so judge a
2480
+ failure by the body and by headers such as `Retry-After`. Connection tests are logged too:
2481
+ resource type `ping` with an empty `resourceId`, and `isPing: true` in the request payload.
2455
2482
  Logs are shared across every flow using the connection (filter by `resourceId` client-side),
2456
2483
  and sensitive header values are redacted (`"Authorization": "********"`). For execution logs
2457
2484
  tied to a specific run, use `GET /v1/flows/{_id}/jobs/{_jobId}/logs` instead.
@@ -2916,6 +2943,13 @@ paths:
2916
2943
  `/v1/connections/{_id}/oauth2` is an alias that answers identically. The URL's
2917
2944
  `state` token is one-time and expires quickly, so request a fresh one if the flow is
2918
2945
  interrupted, then poll `GET /v1/connections/{_id}` until `needsAuthorization` is `false`.
2946
+
2947
+ The URL's `redirect_uri` is the account's Celigo callback
2948
+ (`https://integrator.io/connection/oauth2callback` on North America), which the provider's
2949
+ app registration must list. On an `http` connection the client comes from the iClient in
2950
+ `http._iClientId`: with no iClient the request is rejected with 422 `unknown http authURI`,
2951
+ and an iClient whose `oauth2.validDomainNames` lacks the authorization URL's registrable
2952
+ domain is rejected as well (see the 422 examples).
2919
2953
  parameters:
2920
2954
  - name: _id
2921
2955
  in: path
@@ -2959,9 +2993,11 @@ paths:
2959
2993
  $ref: '#/components/responses/404-not-found'
2960
2994
  '422':
2961
2995
  description: |-
2962
- Connection exists but is not configured for OAuth — e.g. an FTP, S3, or plain-auth
2963
- HTTP connection. The server fails the handshake pre-check because the connection has
2964
- no `authURI` in its config.
2996
+ The handshake pre-check failed: the connection has no `authURI` in its config (an FTP,
2997
+ S3, plain-auth or client-credentials HTTP connection — nothing to authorize in a
2998
+ browser); an `http` connection has no iClient (`unknown http authURI: "<registrable
2999
+ domain>"`); or its iClient's `oauth2.validDomainNames` doesn't list the authorization
3000
+ URL's registrable domain.
2965
3001
  content:
2966
3002
  application/json:
2967
3003
  schema:
@@ -2974,6 +3010,16 @@ paths:
2974
3010
  - code: missing_required_field
2975
3011
  message: 'Expected field: authURI in the Connection to be present.'
2976
3012
  source: connector
3013
+ noIClient:
3014
+ summary: HTTP connection with no iClient
3015
+ value:
3016
+ errors:
3017
+ - message: 'unknown http authURI: "example.com"'
3018
+ domainNotListed:
3019
+ summary: The iClient's validDomainNames lacks the authorization URL's domain
3020
+ value:
3021
+ errors:
3022
+ - message: The domain of request url should be present in iClient.oauth2.validDomainNames
2977
3023
  /v1/connections/{_id}/dependencies:
2978
3024
  get:
2979
3025
  x-internal: false
@@ -4088,7 +4134,7 @@ components:
4088
4134
  connection's traffic counts against the referenced connection's limit instead of its own,
4089
4135
  and its own concurrency and auto-recovery settings have no effect. One level only: the
4090
4136
  referenced connection may not itself borrow, and a connection that others borrow from
4091
- cannot start borrowing.
4137
+ cannot start borrowing. A connection cannot reference itself (422).
4092
4138
  examples:
4093
4139
  - 615dfa0742763671275b70ab
4094
4140
  x-celigo-ai-guidance:
@@ -4125,16 +4171,21 @@ components:
4125
4171
  type: boolean
4126
4172
  description: |-
4127
4173
  When true, the connection has been taken offline and is skipped during flow execution.
4128
- The platform tests the connection after a create or `PUT` and updates this shortly
4129
- afterwards (the audit log records a `system` change; `lastModified` doesn't move), so
4130
- read it again a few seconds after the write.
4174
+ It is set by the connection test a create or `PUT` runs: the result arrives in the
4175
+ write's response or, when the target is slow to answer, shortly afterwards (the audit
4176
+ log records a `system` change; `lastModified` doesn't move), so read it again a few
4177
+ seconds after the write. On an `http` connection the write runs the test only when
4178
+ `http.ping` is configured, and an `http` connection that was never tested has no
4179
+ `offline` key.
4131
4180
  readOnly: true
4132
4181
  needsAuthorization:
4133
4182
  type: boolean
4134
4183
  readOnly: true
4135
4184
  description: |-
4136
4185
  OAuth handshake state. Celigo's OAuth callback sets it to `false` once the user consents
4137
- and the tokens are stored (see `GET /v1/connection/{_id}/oauth2`).
4186
+ and the tokens are stored (see `GET /v1/connection/{_id}/oauth2`). A connection that
4187
+ was never authorized usually has no `needsAuthorization` key, so its absence does not
4188
+ mean the connection is authorized.
4138
4189
  _sourceId:
4139
4190
  type: string
4140
4191
  format: objectId
@@ -5109,15 +5160,18 @@ components:
5109
5160
  clientId:
5110
5161
  type: string
5111
5162
  description: |
5112
- OAuth client ID (application ID) registered with the API provider.
5113
- Required for all OAuth 2.0 grant types.
5163
+ OAuth client ID (application ID) registered with the API provider. An `http`
5164
+ connection takes the app from a `custom_oauth2` iClient referenced by `http._iClientId`
5165
+ (an `mcp` connection from `mcp.http._iClientId`) and doesn't store this field: a create
5166
+ that sends `clientId` and `clientSecret` here answers 201 without either (and stores
5167
+ `useIClientFields: true` unless `false` is sent).
5114
5168
  examples:
5115
5169
  - 0oa1b2c3d4EXAMPLE5
5116
5170
  clientSecret:
5117
5171
  type: string
5118
5172
  description: |
5119
- OAuth client secret (encrypted at rest).
5120
- Required for "authorizecode" and "clientcredentials" grant types.
5173
+ OAuth client secret (encrypted at rest). Not stored on an `http` connection: the secret
5174
+ belongs on the iClient (see `clientId`).
5121
5175
  writeOnly: true
5122
5176
  examples:
5123
5177
  - cs_abc123EXAMPLE456secret
@@ -5333,9 +5387,11 @@ components:
5333
5387
  - "authorizecode" — Authorization Code flow (browser-based user consent).
5334
5388
  Requires authURI, tokenURI, and user authorization via browser.
5335
5389
  - "clientcredentials" — Client Credentials flow (server-to-server, no user).
5336
- Requires tokenURI, clientId, clientSecret.
5390
+ Requires tokenURI.
5337
5391
  - "password" — Resource Owner Password flow (username/password exchange).
5338
- Requires tokenURI, username, password, clientId, clientSecret.
5392
+ Requires tokenURI, username, password.
5393
+ - On an `http` connection the client ID and secret are never stored here: a
5394
+ `custom_oauth2` iClient referenced by `http._iClientId` supplies them.
5339
5395
  JWT:
5340
5396
  type: object
5341
5397
  description: |-
@@ -9560,7 +9616,7 @@ components:
9560
9616
  connection's traffic counts against the referenced connection's limit instead of its own,
9561
9617
  and its own concurrency and auto-recovery settings have no effect. One level only: the
9562
9618
  referenced connection may not itself borrow, and a connection that others borrow from
9563
- cannot start borrowing.
9619
+ cannot start borrowing. A connection cannot reference itself (422).
9564
9620
  examples:
9565
9621
  - 615dfa0742763671275b70ab
9566
9622
  x-celigo-ai-guidance:
package/dist/enduser.yml CHANGED
@@ -2200,7 +2200,7 @@ components:
2200
2200
  connection's traffic counts against the referenced connection's limit instead of its own,
2201
2201
  and its own concurrency and auto-recovery settings have no effect. One level only: the
2202
2202
  referenced connection may not itself borrow, and a connection that others borrow from
2203
- cannot start borrowing.
2203
+ cannot start borrowing. A connection cannot reference itself (422).
2204
2204
  examples:
2205
2205
  - 615dfa0742763671275b70ab
2206
2206
  x-celigo-ai-guidance:
@@ -2237,16 +2237,21 @@ components:
2237
2237
  type: boolean
2238
2238
  description: |-
2239
2239
  When true, the connection has been taken offline and is skipped during flow execution.
2240
- The platform tests the connection after a create or `PUT` and updates this shortly
2241
- afterwards (the audit log records a `system` change; `lastModified` doesn't move), so
2242
- read it again a few seconds after the write.
2240
+ It is set by the connection test a create or `PUT` runs: the result arrives in the
2241
+ write's response or, when the target is slow to answer, shortly afterwards (the audit
2242
+ log records a `system` change; `lastModified` doesn't move), so read it again a few
2243
+ seconds after the write. On an `http` connection the write runs the test only when
2244
+ `http.ping` is configured, and an `http` connection that was never tested has no
2245
+ `offline` key.
2243
2246
  readOnly: true
2244
2247
  needsAuthorization:
2245
2248
  type: boolean
2246
2249
  readOnly: true
2247
2250
  description: |-
2248
2251
  OAuth handshake state. Celigo's OAuth callback sets it to `false` once the user consents
2249
- and the tokens are stored (see `GET /v1/connection/{_id}/oauth2`).
2252
+ and the tokens are stored (see `GET /v1/connection/{_id}/oauth2`). A connection that
2253
+ was never authorized usually has no `needsAuthorization` key, so its absence does not
2254
+ mean the connection is authorized.
2250
2255
  _sourceId:
2251
2256
  type: string
2252
2257
  format: objectId
@@ -3221,15 +3226,18 @@ components:
3221
3226
  clientId:
3222
3227
  type: string
3223
3228
  description: |
3224
- OAuth client ID (application ID) registered with the API provider.
3225
- Required for all OAuth 2.0 grant types.
3229
+ OAuth client ID (application ID) registered with the API provider. An `http`
3230
+ connection takes the app from a `custom_oauth2` iClient referenced by `http._iClientId`
3231
+ (an `mcp` connection from `mcp.http._iClientId`) and doesn't store this field: a create
3232
+ that sends `clientId` and `clientSecret` here answers 201 without either (and stores
3233
+ `useIClientFields: true` unless `false` is sent).
3226
3234
  examples:
3227
3235
  - 0oa1b2c3d4EXAMPLE5
3228
3236
  clientSecret:
3229
3237
  type: string
3230
3238
  description: |
3231
- OAuth client secret (encrypted at rest).
3232
- Required for "authorizecode" and "clientcredentials" grant types.
3239
+ OAuth client secret (encrypted at rest). Not stored on an `http` connection: the secret
3240
+ belongs on the iClient (see `clientId`).
3233
3241
  writeOnly: true
3234
3242
  examples:
3235
3243
  - cs_abc123EXAMPLE456secret
@@ -3445,9 +3453,11 @@ components:
3445
3453
  - "authorizecode" — Authorization Code flow (browser-based user consent).
3446
3454
  Requires authURI, tokenURI, and user authorization via browser.
3447
3455
  - "clientcredentials" — Client Credentials flow (server-to-server, no user).
3448
- Requires tokenURI, clientId, clientSecret.
3456
+ Requires tokenURI.
3449
3457
  - "password" — Resource Owner Password flow (username/password exchange).
3450
- Requires tokenURI, username, password, clientId, clientSecret.
3458
+ Requires tokenURI, username, password.
3459
+ - On an `http` connection the client ID and secret are never stored here: a
3460
+ `custom_oauth2` iClient referenced by `http._iClientId` supplies them.
3451
3461
  JWT:
3452
3462
  type: object
3453
3463
  description: |-
package/dist/iclient.yml CHANGED
@@ -491,6 +491,8 @@ paths:
491
491
  Permanently deletes an iClient. Blocked while any connection references
492
492
  it, including a deleted connection still in the recycle bin: purge that
493
493
  connection with `DELETE /v1/recycleBinTTL/connections/{_id}` first.
494
+ `GET /v1/iclients/{_id}/dependencies` doesn't list a binned connection,
495
+ so an empty dependency list doesn't mean the delete will succeed.
494
496
  operationId: deleteIClient
495
497
  tags:
496
498
  - iClients
@@ -1623,68 +1625,12 @@ components:
1623
1625
  endpoint response body.
1624
1626
  x-celigo-ai-guidance:
1625
1627
  - |-
1626
- ## FIELD BEHAVIOR:
1627
- - Defines the endpoint path for access token requests in the OAuth2 flow.
1628
- - Must be a valid relative URL path starting with a forward slash (/).
1629
- - Used during the token exchange phase after obtaining an authorization code or other grant types.
1630
- - Typically combined with the authorization server's base URL to form the complete token endpoint URL.
1631
- - |-
1632
- Specifies the relative URL path on the OAuth2 authorization server where the
1633
- access token request should be sent.
1634
- This path is appended to the base URL of the authorization server to form the
1635
- full endpoint for obtaining an access token during the OAuth2 authentication
1636
- flow.
1637
- It is essential for enabling clients to exchange authorization grants for access
1638
- tokens securely.
1639
- - |-
1640
- ## IMPORTANT NOTES:
1641
- - This path is critical for the OAuth2 token exchange process; incorrect configuration will prevent successful authentication.
1642
- - It should not include the full URL, only the path component.
1643
- - Must align with the OAuth2 server's documentation to ensure interoperability.
1644
- - Often used in conjunction with other OAuth2 properties like client ID, client secret, and authorization path.
1645
- - |-
1646
- ## DEPENDENCY CHAIN:
1647
- - Depends on the base URL of the OAuth2 authorization server.
1648
- - Used alongside authorizationPath and other OAuth2 configuration properties.
1649
- - Integral to the OAuth2 token grant process.
1650
- - |-
1651
- ## EXAMPLES:
1652
- - /oauth2/token
1653
- - /api/v1/access_token
1654
- - /auth/token
1655
- - |-
1656
- ## IMPLEMENTATION GUIDANCE:
1657
- - Ensure the path corresponds exactly to the OAuth2 server's token endpoint specification.
1658
- - Validate that the path is correctly formatted and accessible.
1659
- - Avoid including query parameters or fragments in this path; it should be a clean URL path.
1660
- - Confirm compatibility with the OAuth2 server's expected token endpoint URL structure.
1661
- - |-
1662
- ## TECHNICAL DETAILS:
1663
- - Expected to be a URI path string.
1664
- - Should begin with a forward slash (/).
1665
- - Combined with the OAuth2 server's base URL to form the full token endpoint URI.
1666
- - Utilized in HTTP POST requests to obtain access tokens.
1667
- - |-
1668
- Specifies the relative URL path on the OAuth2 authorization server where the
1669
- access token request should be sent.
1670
- This path is appended to the base URL of the authorization server to form the
1671
- full endpoint for obtaining an access token during the OAuth2 authentication
1672
- flow.
1673
- It is essential for enabling clients to exchange authorization grants for access
1674
- tokens securely.
1675
- - |-
1676
- Specifies the relative URL path on the OAuth2 authorization server where the
1677
- access token request should be sent.
1678
- This path is appended to the base URL of the authorization server to form the
1679
- full endpoint for obtaining an access token during the OAuth2 authentication
1680
- flow.
1681
- It is essential for enabling clients to exchange authorization grants for access
1682
- tokens securely.
1628
+ A path into the token endpoint's JSON response — `access_token`, or
1629
+ `data.access_token` when the provider nests it — never a URL or an endpoint path.
1630
+ The token endpoint itself is `token.uri`.
1683
1631
  examples:
1684
1632
  - access_token
1685
- - /oauth2/token
1686
- - /api/v1/access_token
1687
- - /auth/token
1633
+ - data.access_token
1688
1634
  refreshTokenPath:
1689
1635
  type: string
1690
1636
  description: |-
@@ -1692,72 +1638,12 @@ components:
1692
1638
  endpoint response body.
1693
1639
  x-celigo-ai-guidance:
1694
1640
  - |-
1695
- ## IMPORTANT NOTES:
1696
- - This path is distinct from the initial token request endpoint.
1697
- - The refresh token flow requires that the client has previously obtained a refresh token.
1698
- - Not all OAuth 2.0 providers support refresh tokens; verify compatibility.
1699
- - The endpoint must support secure communication protocols (e.g., HTTPS).
1700
- - |-
1701
- ## EXAMPLES:
1702
- - "/oauth2/token/refresh"
1703
- - "https://auth.example.com/oauth2/token"
1704
- - "/api/v1/auth/refresh-token"
1705
- - |-
1706
- ## DEPENDENCY CHAIN:
1707
- - Depends on the existence of a valid refresh token issued during initial authentication.
1708
- - Works in conjunction with the access token and client credentials.
1709
- - Related to the OAuth 2.0 token endpoint configuration.
1710
- - |-
1711
- The relative or absolute URL path used to request a refresh token from the OAuth
1712
- 2.0 authorization server.
1713
- This endpoint is typically called when the current access token has expired or
1714
- is about to expire,
1715
- allowing the client to obtain a new access token without requiring the user to re-authenticate.
1716
- The path should conform to the OAuth 2.0 specification for token refresh
1717
- requests and support the necessary HTTP methods,
1718
- usually POST.
1719
- - |-
1720
- ## TECHNICAL DETAILS:
1721
- - Typically uses the HTTP POST method with form-encoded parameters.
1722
- - Requires parameters such as grant_type=refresh_token and the refresh_token itself.
1723
- - Responses include a new access token and optionally a new refresh token.
1724
- - Must handle scopes and token expiration as per OAuth 2.0 standards.
1725
- - |-
1726
- ## IMPLEMENTATION GUIDANCE:
1727
- - Ensure the path is correctly formatted as a relative or absolute URL.
1728
- - Confirm that the authorization server supports refresh token requests at this endpoint.
1729
- - Secure the endpoint with appropriate authentication and authorization measures.
1730
- - Validate that the client credentials and refresh token are correctly handled during the request.
1731
- - Handle error responses gracefully, such as invalid or expired refresh tokens.
1732
- - |-
1733
- ## FIELD BEHAVIOR:
1734
- - Specifies the endpoint for refreshing OAuth 2.0 access tokens.
1735
- - Used by the client application to maintain authenticated sessions seamlessly.
1736
- - Invoked automatically by the client when the access token expires or is near expiration.
1737
- - Must be accessible and correctly configured on the authorization server.
1738
- - |-
1739
- The relative or absolute URL path used to request a refresh token from the OAuth
1740
- 2.0 authorization server.
1741
- This endpoint is typically called when the current access token has expired or
1742
- is about to expire,
1743
- allowing the client to obtain a new access token without requiring the user to re-authenticate.
1744
- The path should conform to the OAuth 2.0 specification for token refresh
1745
- requests and support the necessary HTTP methods,
1746
- usually POST.
1747
- - |-
1748
- The relative or absolute URL path used to request a refresh token from the OAuth
1749
- 2.0 authorization server.
1750
- This endpoint is typically called when the current access token has expired or
1751
- is about to expire,
1752
- allowing the client to obtain a new access token without requiring the user to re-authenticate.
1753
- The path should conform to the OAuth 2.0 specification for token refresh
1754
- requests and support the necessary HTTP methods,
1755
- usually POST.
1641
+ A path into the token endpoint's JSON response — `refresh_token`, or
1642
+ `data.refresh_token` when the provider nests it — never a URL or an endpoint path.
1643
+ The refresh endpoint itself is `refresh.uri`.
1756
1644
  examples:
1757
1645
  - refresh_token
1758
- - /oauth2/token/refresh
1759
- - https://auth.example.com/oauth2/token
1760
- - /api/v1/auth/refresh-token
1646
+ - data.refresh_token
1761
1647
  scheme:
1762
1648
  type: string
1763
1649
  description: Authorization scheme prefix (e.g. `Bearer`, `Basic`).
@@ -4031,7 +4031,7 @@ components:
4031
4031
  connection's traffic counts against the referenced connection's limit instead of its own,
4032
4032
  and its own concurrency and auto-recovery settings have no effect. One level only: the
4033
4033
  referenced connection may not itself borrow, and a connection that others borrow from
4034
- cannot start borrowing.
4034
+ cannot start borrowing. A connection cannot reference itself (422).
4035
4035
  examples:
4036
4036
  - 615dfa0742763671275b70ab
4037
4037
  x-celigo-ai-guidance:
@@ -4068,16 +4068,21 @@ components:
4068
4068
  type: boolean
4069
4069
  description: |-
4070
4070
  When true, the connection has been taken offline and is skipped during flow execution.
4071
- The platform tests the connection after a create or `PUT` and updates this shortly
4072
- afterwards (the audit log records a `system` change; `lastModified` doesn't move), so
4073
- read it again a few seconds after the write.
4071
+ It is set by the connection test a create or `PUT` runs: the result arrives in the
4072
+ write's response or, when the target is slow to answer, shortly afterwards (the audit
4073
+ log records a `system` change; `lastModified` doesn't move), so read it again a few
4074
+ seconds after the write. On an `http` connection the write runs the test only when
4075
+ `http.ping` is configured, and an `http` connection that was never tested has no
4076
+ `offline` key.
4074
4077
  readOnly: true
4075
4078
  needsAuthorization:
4076
4079
  type: boolean
4077
4080
  readOnly: true
4078
4081
  description: |-
4079
4082
  OAuth handshake state. Celigo's OAuth callback sets it to `false` once the user consents
4080
- and the tokens are stored (see `GET /v1/connection/{_id}/oauth2`).
4083
+ and the tokens are stored (see `GET /v1/connection/{_id}/oauth2`). A connection that
4084
+ was never authorized usually has no `needsAuthorization` key, so its absence does not
4085
+ mean the connection is authorized.
4081
4086
  _sourceId:
4082
4087
  type: string
4083
4088
  format: objectId
@@ -5052,15 +5057,18 @@ components:
5052
5057
  clientId:
5053
5058
  type: string
5054
5059
  description: |
5055
- OAuth client ID (application ID) registered with the API provider.
5056
- Required for all OAuth 2.0 grant types.
5060
+ OAuth client ID (application ID) registered with the API provider. An `http`
5061
+ connection takes the app from a `custom_oauth2` iClient referenced by `http._iClientId`
5062
+ (an `mcp` connection from `mcp.http._iClientId`) and doesn't store this field: a create
5063
+ that sends `clientId` and `clientSecret` here answers 201 without either (and stores
5064
+ `useIClientFields: true` unless `false` is sent).
5057
5065
  examples:
5058
5066
  - 0oa1b2c3d4EXAMPLE5
5059
5067
  clientSecret:
5060
5068
  type: string
5061
5069
  description: |
5062
- OAuth client secret (encrypted at rest).
5063
- Required for "authorizecode" and "clientcredentials" grant types.
5070
+ OAuth client secret (encrypted at rest). Not stored on an `http` connection: the secret
5071
+ belongs on the iClient (see `clientId`).
5064
5072
  writeOnly: true
5065
5073
  examples:
5066
5074
  - cs_abc123EXAMPLE456secret
@@ -5276,9 +5284,11 @@ components:
5276
5284
  - "authorizecode" — Authorization Code flow (browser-based user consent).
5277
5285
  Requires authURI, tokenURI, and user authorization via browser.
5278
5286
  - "clientcredentials" — Client Credentials flow (server-to-server, no user).
5279
- Requires tokenURI, clientId, clientSecret.
5287
+ Requires tokenURI.
5280
5288
  - "password" — Resource Owner Password flow (username/password exchange).
5281
- Requires tokenURI, username, password, clientId, clientSecret.
5289
+ Requires tokenURI, username, password.
5290
+ - On an `http` connection the client ID and secret are never stored here: a
5291
+ `custom_oauth2` iClient referenced by `http._iClientId` supplies them.
5282
5292
  JWT:
5283
5293
  type: object
5284
5294
  description: |-
package/dist/tool.yml CHANGED
@@ -7482,7 +7482,7 @@ components:
7482
7482
  connection's traffic counts against the referenced connection's limit instead of its own,
7483
7483
  and its own concurrency and auto-recovery settings have no effect. One level only: the
7484
7484
  referenced connection may not itself borrow, and a connection that others borrow from
7485
- cannot start borrowing.
7485
+ cannot start borrowing. A connection cannot reference itself (422).
7486
7486
  examples:
7487
7487
  - 615dfa0742763671275b70ab
7488
7488
  x-celigo-ai-guidance:
@@ -7519,16 +7519,21 @@ components:
7519
7519
  type: boolean
7520
7520
  description: |-
7521
7521
  When true, the connection has been taken offline and is skipped during flow execution.
7522
- The platform tests the connection after a create or `PUT` and updates this shortly
7523
- afterwards (the audit log records a `system` change; `lastModified` doesn't move), so
7524
- read it again a few seconds after the write.
7522
+ It is set by the connection test a create or `PUT` runs: the result arrives in the
7523
+ write's response or, when the target is slow to answer, shortly afterwards (the audit
7524
+ log records a `system` change; `lastModified` doesn't move), so read it again a few
7525
+ seconds after the write. On an `http` connection the write runs the test only when
7526
+ `http.ping` is configured, and an `http` connection that was never tested has no
7527
+ `offline` key.
7525
7528
  readOnly: true
7526
7529
  needsAuthorization:
7527
7530
  type: boolean
7528
7531
  readOnly: true
7529
7532
  description: |-
7530
7533
  OAuth handshake state. Celigo's OAuth callback sets it to `false` once the user consents
7531
- and the tokens are stored (see `GET /v1/connection/{_id}/oauth2`).
7534
+ and the tokens are stored (see `GET /v1/connection/{_id}/oauth2`). A connection that
7535
+ was never authorized usually has no `needsAuthorization` key, so its absence does not
7536
+ mean the connection is authorized.
7532
7537
  _sourceId:
7533
7538
  type: string
7534
7539
  format: objectId
@@ -8503,15 +8508,18 @@ components:
8503
8508
  clientId:
8504
8509
  type: string
8505
8510
  description: |
8506
- OAuth client ID (application ID) registered with the API provider.
8507
- Required for all OAuth 2.0 grant types.
8511
+ OAuth client ID (application ID) registered with the API provider. An `http`
8512
+ connection takes the app from a `custom_oauth2` iClient referenced by `http._iClientId`
8513
+ (an `mcp` connection from `mcp.http._iClientId`) and doesn't store this field: a create
8514
+ that sends `clientId` and `clientSecret` here answers 201 without either (and stores
8515
+ `useIClientFields: true` unless `false` is sent).
8508
8516
  examples:
8509
8517
  - 0oa1b2c3d4EXAMPLE5
8510
8518
  clientSecret:
8511
8519
  type: string
8512
8520
  description: |
8513
- OAuth client secret (encrypted at rest).
8514
- Required for "authorizecode" and "clientcredentials" grant types.
8521
+ OAuth client secret (encrypted at rest). Not stored on an `http` connection: the secret
8522
+ belongs on the iClient (see `clientId`).
8515
8523
  writeOnly: true
8516
8524
  examples:
8517
8525
  - cs_abc123EXAMPLE456secret
@@ -8727,9 +8735,11 @@ components:
8727
8735
  - "authorizecode" — Authorization Code flow (browser-based user consent).
8728
8736
  Requires authURI, tokenURI, and user authorization via browser.
8729
8737
  - "clientcredentials" — Client Credentials flow (server-to-server, no user).
8730
- Requires tokenURI, clientId, clientSecret.
8738
+ Requires tokenURI.
8731
8739
  - "password" — Resource Owner Password flow (username/password exchange).
8732
- Requires tokenURI, username, password, clientId, clientSecret.
8740
+ Requires tokenURI, username, password.
8741
+ - On an `http` connection the client ID and secret are never stored here: a
8742
+ `custom_oauth2` iClient referenced by `http._iClientId` supplies them.
8733
8743
  JWT:
8734
8744
  type: object
8735
8745
  description: |-
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.153",
3
+ "version": "0.2.154",
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,7 +1,7 @@
1
1
  {
2
2
  "provenance": {
3
3
  "repo": "celigo/integrator-api-specs",
4
- "iasCommit": "edaea717",
4
+ "iasCommit": "6baefd4f",
5
5
  "generatedAt": "2026-10-21"
6
6
  },
7
7
  "roots": {