@celigo/api-specs 0.2.97 → 0.2.99

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/flow.yml CHANGED
@@ -418,7 +418,7 @@ paths:
418
418
  summary: Patch a flow
419
419
  description: |-
420
420
  Partially updates a flow using a JSON Patch document (RFC 6902).
421
- Only the `replace` operation is supported, and only on the following
421
+ `replace`, `add`, and `remove` operations are accepted only on the following
422
422
  whitelisted paths:
423
423
 
424
424
  | Path | Description |
@@ -430,13 +430,12 @@ paths:
430
430
  | `/logging/mode` | Logging mode |
431
431
  | `/runPageGeneratorsInParallel` | Run page generators in parallel |
432
432
  | `/aiDescription` | AI-generated description object |
433
- | `/schedule/frequency` | Schedule frequency |
434
- | `/schedule/startDate` | Schedule start date |
435
- | `/schedule/endDate` | Schedule end date |
436
- | `/schedule/days` | Schedule days |
437
- | `/schedule/cron` | Cron expression |
433
+ | `/schedule` | Celigo 6-field cron string (same as PUT `schedule`) |
434
+ | `/timezone` | IANA timezone string |
438
435
 
439
- All other paths are rejected with 422.
436
+ All other paths are rejected with 422, except pointers nested under `/schedule`
437
+ (such as `/schedule/cron`): `schedule` is a string, so those return 204 and change
438
+ nothing. Send the whole cron string to `/schedule` instead.
440
439
 
441
440
  PATCH is safer than PUT for toggling `disabled` or arming debug logging because it won't
442
441
  accidentally reset other fields. To arm debug logging, `replace` `/logging/debugUntil` with
@@ -476,11 +475,11 @@ paths:
476
475
  path: /logging/debugUntil
477
476
  value: '2026-05-02T16:00:00.000Z'
478
477
  update_schedule:
479
- summary: Change schedule frequency
478
+ summary: Change Celigo 6-field schedule cron
480
479
  value:
481
480
  - op: replace
482
- path: /schedule/frequency
483
- value: 0 */6 * * *
481
+ path: /schedule
482
+ value: '? 5 0,6,12,18 ? * *'
484
483
  responses:
485
484
  '204':
486
485
  description: Flow patched successfully.
@@ -3814,15 +3813,15 @@ paths:
3814
3813
  preview_import_step:
3815
3814
  summary: Preview the import step of a one-generator flow
3816
3815
  value:
3817
- flowDoc:
3816
+ flow:
3818
3817
  name: 'Accounts: HubSpot to NetSuite'
3819
3818
  pageGenerators:
3820
3819
  - _exportId: 652583cf9085040ecbf54303
3821
3820
  pageProcessors:
3822
3821
  - type: import
3823
3822
  _importId: 6508ab8b20b16404da729c64
3823
+ _selectedPageGeneratorId: 652583cf9085040ecbf54303
3824
3824
  _pageProcessorId: 6508ab8b20b16404da729c64
3825
- _selectedPageGeneratorId: 652583cf9085040ecbf54303
3826
3825
  pageGeneratorMap:
3827
3826
  652583cf9085040ecbf54303:
3828
3827
  doc:
@@ -7797,12 +7796,17 @@ components:
7797
7796
  match keys in the side-loaded maps. Full flow doc shape mirrors
7798
7797
  `POST /v1/flows` body. Accepted under key `flow` despite the
7799
7798
  server's stale `flowDoc` error message.
7800
- additionalProperties: true
7801
- flowDoc:
7802
- type: object
7803
- description: |-
7804
- Alias for `flow` — the server appears to accept either key.
7805
- Prefer `flow`.
7799
+ properties:
7800
+ _selectedPageGeneratorId:
7801
+ type: string
7802
+ format: objectId
7803
+ x-celigo-refModel: exports
7804
+ description: |-
7805
+ Page generator to drive the preview when the flow has multiple.
7806
+ Defaults to `pageGenerators[0]._exportId`. Set it inside `flow`: the
7807
+ server ignores a top-level `_selectedPageGeneratorId`.
7808
+ examples:
7809
+ - 61f92026dd053843b5d72350
7806
7810
  additionalProperties: true
7807
7811
  _pageProcessorId:
7808
7812
  type: string
@@ -7812,14 +7816,6 @@ components:
7812
7816
  in `pageProcessorMap`.
7813
7817
  examples:
7814
7818
  - 64a1234567890abcdef12345
7815
- _selectedPageGeneratorId:
7816
- type: string
7817
- format: objectId
7818
- description: |-
7819
- Page generator to drive the preview when the flow has multiple.
7820
- Defaults to `flow.pageGenerators[0]._exportId`.
7821
- examples:
7822
- - 61f92026dd053843b5d72350
7823
7819
  pageGeneratorMap:
7824
7820
  type: object
7825
7821
  description: |-
@@ -7892,7 +7888,7 @@ components:
7892
7888
  the response carries the records the target would receive as input
7893
7889
  (for a lookup step, with its `responseMapping` already merged in).
7894
7890
  required:
7895
- - flowDoc
7891
+ - flow
7896
7892
  - _pageProcessorId
7897
7893
  - pageGeneratorMap
7898
7894
  - pageProcessorMap
package/dist/iclient.yml CHANGED
@@ -1160,27 +1160,16 @@ components:
1160
1160
  clientSecret:
1161
1161
  type: string
1162
1162
  description: |-
1163
- OAuth 2.0 client secret. Returned masked as `"******"`.
1164
- Re-send that value on update to keep it; it is not preserved if omitted.
1163
+ OAuth 2.0 client secret. Returned masked as `"******"`; re-send that mask
1164
+ on update to keep the stored secret. Required whenever `oauth2` is sent, on
1165
+ create and update: omitting it or sending an empty string fails with 422
1166
+ `missing_required_field` rather than clearing the secret.
1165
1167
  x-celigo-ai-guidance:
1166
1168
  - |-
1167
- ## IMPLEMENTATION GUIDANCE:
1168
- - Provide the plain client secret value here to set/update it.
1169
- - To keep the existing secret unchanged during an update, omit this field (or, if the API/UI returns a masked value, keep `"******"` as-is).
1170
- - |-
1171
- This is the value you provide to configure or update the iClient.
1172
- Internally,
1173
- integrator.io stores this secret encrypted at rest (for example as
1174
- `clientSecret_crypt` and `clientSecret_salt` fields in the underlying model),
1175
- and API responses typically return a masked value (e.g.,
1176
- `"******"`) when a secret is already set.
1177
- - |-
1178
- This is the value you provide to configure or update the iClient.
1179
- Internally,
1180
- integrator.io stores this secret encrypted at rest (for example as
1181
- `clientSecret_crypt` and `clientSecret_salt` fields in the underlying model),
1182
- and API responses typically return a masked value (e.g.,
1183
- `"******"`) when a secret is already set.
1169
+ Send the plain secret to set or replace it. To keep the stored secret on a
1170
+ PUT, send "******" (the masked value GET returns). Never omit clientSecret
1171
+ while sending other oauth2 fields: create and update both fail with 422
1172
+ missing_required_field on oauth2.clientSecret.
1184
1173
  - |-
1185
1174
  This is the value you provide to configure or update the iClient.
1186
1175
  Internally,
@@ -48,12 +48,14 @@ paths:
48
48
  an integration or an MCP server and therefore which install route to
49
49
  call. Entries have no `docType`.
50
50
 
51
- The whole catalog is returned in one response, sorted by `name` unless
52
- `sort_by` says otherwise. Templates that reference an application no
51
+ Results are sorted by `name` unless `sort_by` says otherwise, and the
52
+ list may be paginated: follow the `Link` header's `rel="next"` URL until
53
+ the header is absent. Templates that reference an application no
53
54
  longer available on the platform are left out, so this list can be
54
55
  shorter than the `docType: Template` subset of
55
56
  `POST /v1/published/combined`.
56
57
  parameters:
58
+ - $ref: '#/components/parameters/After'
57
59
  - name: sort_by
58
60
  in: query
59
61
  required: false
@@ -74,6 +76,14 @@ paths:
74
76
  responses:
75
77
  '200':
76
78
  description: Array of Template marketplace entries.
79
+ headers:
80
+ Link:
81
+ description: |-
82
+ RFC 5988 pagination links. When more pages remain, includes a
83
+ `<...>; rel="next"` entry with an `after` cursor; absent on the
84
+ final page.
85
+ schema:
86
+ type: string
77
87
  content:
78
88
  application/json:
79
89
  schema:
@@ -110,7 +120,7 @@ paths:
110
120
  '204':
111
121
  description: No published templates are available.
112
122
  '400':
113
- description: '`sort_by` is not one of the accepted keys.'
123
+ description: '`sort_by` is not one of the accepted keys, or `after` is not a valid pagination cursor.'
114
124
  content:
115
125
  application/json:
116
126
  schema:
@@ -121,6 +131,11 @@ paths:
121
131
  errors:
122
132
  - code: invalid_query_param
123
133
  message: The query parameter "sort_by" has invalid value.
134
+ invalidCursor:
135
+ value:
136
+ errors:
137
+ - code: invalid_query_param
138
+ message: Please provide a valid cursor(i.e after or before query param) to encode or decode.
124
139
  '401':
125
140
  $ref: '#/components/responses/401-unauthorized'
126
141
  /v1/templates/{_id}/preview:
@@ -256,9 +271,22 @@ paths:
256
271
  use `POST /v1/published/combined` instead. Entries here have no
257
272
  `docType` field -- that discriminator only appears in the combined
258
273
  endpoint's response.
274
+
275
+ The list may be paginated: follow the `Link` header's `rel="next"` URL
276
+ until the header is absent.
277
+ parameters:
278
+ - $ref: '#/components/parameters/After'
259
279
  responses:
260
280
  '200':
261
281
  description: Array of Integration App (Connector) marketplace entries.
282
+ headers:
283
+ Link:
284
+ description: |-
285
+ RFC 5988 pagination links. When more pages remain, includes a
286
+ `<...>; rel="next"` entry with an `after` cursor; absent on the
287
+ final page.
288
+ schema:
289
+ type: string
262
290
  content:
263
291
  application/json:
264
292
  schema:
@@ -283,6 +311,18 @@ paths:
283
311
  trialEnabled: false
284
312
  lastModified: '2026-04-22T14:23:56.528Z'
285
313
  numInstalls: 1938
314
+ '400':
315
+ description: '`after` is not a valid pagination cursor.'
316
+ content:
317
+ application/json:
318
+ schema:
319
+ $ref: '#/components/schemas/Error'
320
+ examples:
321
+ invalidCursor:
322
+ value:
323
+ errors:
324
+ - code: invalid_query_param
325
+ message: Please provide a valid cursor(i.e after or before query param) to encode or decode.
286
326
  '401':
287
327
  $ref: '#/components/responses/401-unauthorized'
288
328
  /v1/published/combined:
@@ -293,11 +333,12 @@ paths:
293
333
  - Marketplace
294
334
  summary: List Integration Apps and Templates together
295
335
  description: |-
296
- Returns a unified array of **all** marketplace content — both Integration
336
+ Returns a unified array of marketplace content — both Integration
297
337
  Apps (`docType: Connector`) and Templates (`docType: Template`). Each
298
338
  entry carries the `docType` discriminator so callers can partition, and
299
339
  every Template entry also carries `type` (`integration` or `mcpserver`),
300
- which decides its install route.
340
+ which decides its install route. The list may be paginated: follow the
341
+ `Link` header's `rel="next"` URL until the header is absent.
301
342
 
302
343
  Despite being a POST, this is a **read-only, safe** endpoint — the body
303
344
  is an empty `{}` in the default CLI invocation. POST is used purely to
@@ -308,6 +349,7 @@ paths:
308
349
  the body. For Connector-only listings, `GET /v1/published` is
309
350
  lighter.
310
351
  parameters:
352
+ - $ref: '#/components/parameters/After'
311
353
  - name: sort_by
312
354
  in: query
313
355
  required: false
@@ -342,6 +384,14 @@ paths:
342
384
  responses:
343
385
  '200':
344
386
  description: Array of marketplace entries, both Connectors and Templates.
387
+ headers:
388
+ Link:
389
+ description: |-
390
+ RFC 5988 pagination links. When more pages remain, includes a
391
+ `<...>; rel="next"` entry with an `after` cursor; absent on the
392
+ final page.
393
+ schema:
394
+ type: string
345
395
  content:
346
396
  application/json:
347
397
  schema:
@@ -380,7 +430,7 @@ paths:
380
430
  '400':
381
431
  description: |-
382
432
  Typically `invalid_query_param` when `sort_by` is outside the
383
- accepted enum.
433
+ accepted enum or `after` is not a valid pagination cursor.
384
434
  content:
385
435
  application/json:
386
436
  schema:
@@ -391,6 +441,11 @@ paths:
391
441
  errors:
392
442
  - code: invalid_query_param
393
443
  message: The query parameter "sort_by" has invalid value.
444
+ invalidCursor:
445
+ value:
446
+ errors:
447
+ - code: invalid_query_param
448
+ message: Please provide a valid cursor(i.e after or before query param) to encode or decode.
394
449
  '401':
395
450
  $ref: '#/components/responses/401-unauthorized'
396
451
  '415':
@@ -413,6 +468,16 @@ components:
413
468
  bearerAuth:
414
469
  type: http
415
470
  scheme: bearer
471
+ parameters:
472
+ After:
473
+ name: after
474
+ in: query
475
+ required: false
476
+ description: |-
477
+ Opaque cursor for forward pagination. Pass the value from the `Link`
478
+ response header (`rel="next"`) to fetch the next page.
479
+ schema:
480
+ type: string
416
481
  schemas:
417
482
  MarketplaceEntry:
418
483
  type: object
@@ -203,6 +203,22 @@ paths:
203
203
  $ref: '#/components/responses/400-bad-request'
204
204
  '401':
205
205
  $ref: '#/components/responses/401-unauthorized'
206
+ '403':
207
+ description: |-
208
+ A `subscribedByUserEmail` value matches no user in the account, so the whole
209
+ request is rejected with `invalid_access`, including items that name valid
210
+ users. The message mentions monitor access even when the caller has full access.
211
+ content:
212
+ application/json:
213
+ schema:
214
+ $ref: '#/components/schemas/Error'
215
+ examples:
216
+ unknownEmail:
217
+ summary: subscribedByUserEmail matches no account user
218
+ value:
219
+ errors:
220
+ - code: invalid_access
221
+ message: You can not subscribe notifications for others with monitor access. Please provide your email address while subscribing.
206
222
  components:
207
223
  securitySchemes:
208
224
  bearerAuth:
@@ -463,7 +479,8 @@ components:
463
479
  format: email
464
480
  description: |-
465
481
  Email of the user whose subscription is being modified. Must match a
466
- user in the account — unknown emails are silently ignored (no-op).
482
+ user in the account: one unknown email fails the entire request with
483
+ **403** `invalid_access`, not just its own item.
467
484
  examples:
468
485
  - jane@example.com
469
486
  required:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.97",
3
+ "version": "0.2.99",
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": "94993951",
4
+ "iasCommit": "6feafe65",
5
5
  "generatedAt": "2026-10-12"
6
6
  },
7
7
  "roots": {