@celigo/api-specs 0.2.146 → 0.2.148

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
@@ -5385,7 +5385,7 @@ components:
5385
5385
  x-celigo-ai-guidance:
5386
5386
  - To change throughput while this is true, write `targetConcurrencyLevel`; a `concurrencyLevel` sent in a PUT returns 200 and changes nothing.
5387
5387
  - Turning it on copies `concurrencyLevel` into `targetConcurrencyLevel`; turning it off unsets the target and leaves `concurrencyLevel` at its current value, which may be below the old target if a recovery was in progress. A `targetConcurrencyLevel` written while this is false is unset by the save.
5388
- - These four settings (`concurrencyLevel`, `targetConcurrencyLevel`, `_borrowConcurrencyFromConnectionId`, this flag) accept a credential-free `PATCH /v1/connections/{_id}`. A PUT must re-send the credentials — omitting them or echoing their masked `******` values clears them.
5388
+ - These four settings (`concurrencyLevel`, `targetConcurrencyLevel`, `_borrowConcurrencyFromConnectionId`, this flag) accept a credential-free `PATCH /v1/connections/{_id}`. A PUT replaces the whole document, so send each secret back as its masked `******` value (that keeps it) or as a new value, and never drop one to keep it — an omitted password or `http.encrypted` is cleared, and a static token left out (with no `refreshMethod`) fails the PUT with 422.
5389
5389
  enableMicroBatchForOneToMany:
5390
5390
  type: boolean
5391
5391
  default: true
@@ -7036,7 +7036,9 @@ components:
7036
7036
  - svc_account
7037
7037
  password:
7038
7038
  type: string
7039
- description: Password for Basic/Digest/WSSE authentication (encrypted at rest).
7039
+ description: |-
7040
+ Password for Basic/Digest/WSSE authentication (encrypted at rest). On update, the
7041
+ masked `"******"` sent back keeps the stored password; a new value replaces it.
7040
7042
  writeOnly: true
7041
7043
  examples:
7042
7044
  - s3cr3t-p4ssw0rd
@@ -7053,6 +7055,7 @@ components:
7053
7055
  type: string
7054
7056
  description: |
7055
7057
  The API key or bearer token value (encrypted at rest); returned masked as `"******"`.
7058
+ On update, the mask sent back keeps the stored token; a new value replaces it.
7056
7059
  Required unless automatic token refresh is configured.
7057
7060
  examples:
7058
7061
  - my-api-token-EXAMPLE
@@ -7515,7 +7518,8 @@ components:
7515
7518
  Encrypted custom fields for storing sensitive configuration values (API secrets,
7516
7519
  private keys, etc.) that don't fit standard auth fields. Sent as an object of
7517
7520
  field-name/value pairs; values are encrypted at rest. Returned as the masked
7518
- string `"******"` on responses. Field definitions are specified in encryptedFields.
7521
+ string `"******"` on responses; on update, that mask sent back keeps the stored values,
7522
+ and a new object replaces them. Field definitions are specified in encryptedFields.
7519
7523
  examples:
7520
7524
  - apiSecret: s3cr3t-value
7521
7525
  signingKey: another-s3cr3t
@@ -9257,6 +9261,7 @@ components:
9257
9261
  type: string
9258
9262
  description: |
9259
9263
  The API key or bearer token value (encrypted at rest); returned masked as `"******"`.
9264
+ On update, the mask sent back keeps the stored token; a new value replaces it.
9260
9265
  Required unless automatic token refresh is configured.
9261
9266
  examples:
9262
9267
  - my-api-token-EXAMPLE
@@ -830,8 +830,11 @@ paths:
830
830
  description: |
831
831
  Updates an existing connection configuration. This is a full-replace operation —
832
832
  send the complete connection document, not just the fields you want to change; a field
833
- omitted from the body is cleared, including credentials (re-send them, or the masked
834
- `"******"` value clears them too).
833
+ omitted from the body is cleared. A stored secret sent back as the masked `"******"` value a
834
+ GET returns keeps its stored value; send a new value to change it. Don't leave a secret out
835
+ to keep it: an omitted `http.auth.basic.password` or `http.encrypted` is cleared, and a
836
+ static-token connection (no `http.auth.token.refreshMethod`) sent without
837
+ `http.auth.token.token` is rejected with 422 `Expected field: refreshMethod to be present.`
835
838
 
836
839
  Three settings are the exception and survive an omission: `endUserProvidedFields`
837
840
  (send `null` to clear it — `[]` is treated like an omission), and on `ftp` connections
@@ -985,9 +988,11 @@ paths:
985
988
  x-celigo-ai-guidance:
986
989
  - |-
987
990
  PUT replaces the document: GET it first, change what you need, and send the whole body
988
- back with the real credential values (masked "******" values clear the stored secret).
989
- To change only name, debug window, or concurrency settings without touching credentials,
990
- use PATCH instead.
991
+ back. Leave each secret's masked "******" value exactly as the GET returned it (that keeps
992
+ the stored secret) or put a new value in its place. Never drop a secret field to keep it:
993
+ an omitted password or `http.encrypted` is cleared, and a static token left out (with no
994
+ `refreshMethod`) fails the PUT with 422. To change only name, debug window, or concurrency
995
+ settings without touching credentials, use PATCH instead.
991
996
  patch:
992
997
  x-internal: false
993
998
  summary: Patch a connection
@@ -4240,7 +4245,7 @@ components:
4240
4245
  x-celigo-ai-guidance:
4241
4246
  - To change throughput while this is true, write `targetConcurrencyLevel`; a `concurrencyLevel` sent in a PUT returns 200 and changes nothing.
4242
4247
  - Turning it on copies `concurrencyLevel` into `targetConcurrencyLevel`; turning it off unsets the target and leaves `concurrencyLevel` at its current value, which may be below the old target if a recovery was in progress. A `targetConcurrencyLevel` written while this is false is unset by the save.
4243
- - These four settings (`concurrencyLevel`, `targetConcurrencyLevel`, `_borrowConcurrencyFromConnectionId`, this flag) accept a credential-free `PATCH /v1/connections/{_id}`. A PUT must re-send the credentials — omitting them or echoing their masked `******` values clears them.
4248
+ - These four settings (`concurrencyLevel`, `targetConcurrencyLevel`, `_borrowConcurrencyFromConnectionId`, this flag) accept a credential-free `PATCH /v1/connections/{_id}`. A PUT replaces the whole document, so send each secret back as its masked `******` value (that keeps it) or as a new value, and never drop one to keep it — an omitted password or `http.encrypted` is cleared, and a static token left out (with no `refreshMethod`) fails the PUT with 422.
4244
4249
  enableMicroBatchForOneToMany:
4245
4250
  type: boolean
4246
4251
  default: true
@@ -5891,7 +5896,9 @@ components:
5891
5896
  - svc_account
5892
5897
  password:
5893
5898
  type: string
5894
- description: Password for Basic/Digest/WSSE authentication (encrypted at rest).
5899
+ description: |-
5900
+ Password for Basic/Digest/WSSE authentication (encrypted at rest). On update, the
5901
+ masked `"******"` sent back keeps the stored password; a new value replaces it.
5895
5902
  writeOnly: true
5896
5903
  examples:
5897
5904
  - s3cr3t-p4ssw0rd
@@ -5908,6 +5915,7 @@ components:
5908
5915
  type: string
5909
5916
  description: |
5910
5917
  The API key or bearer token value (encrypted at rest); returned masked as `"******"`.
5918
+ On update, the mask sent back keeps the stored token; a new value replaces it.
5911
5919
  Required unless automatic token refresh is configured.
5912
5920
  examples:
5913
5921
  - my-api-token-EXAMPLE
@@ -6370,7 +6378,8 @@ components:
6370
6378
  Encrypted custom fields for storing sensitive configuration values (API secrets,
6371
6379
  private keys, etc.) that don't fit standard auth fields. Sent as an object of
6372
6380
  field-name/value pairs; values are encrypted at rest. Returned as the masked
6373
- string `"******"` on responses. Field definitions are specified in encryptedFields.
6381
+ string `"******"` on responses; on update, that mask sent back keeps the stored values,
6382
+ and a new object replaces them. Field definitions are specified in encryptedFields.
6374
6383
  examples:
6375
6384
  - apiSecret: s3cr3t-value
6376
6385
  signingKey: another-s3cr3t
@@ -8112,6 +8121,7 @@ components:
8112
8121
  type: string
8113
8122
  description: |
8114
8123
  The API key or bearer token value (encrypted at rest); returned masked as `"******"`.
8124
+ On update, the mask sent back keeps the stored token; a new value replaces it.
8115
8125
  Required unless automatic token refresh is configured.
8116
8126
  examples:
8117
8127
  - my-api-token-EXAMPLE
package/dist/enduser.yml CHANGED
@@ -2357,7 +2357,7 @@ components:
2357
2357
  x-celigo-ai-guidance:
2358
2358
  - To change throughput while this is true, write `targetConcurrencyLevel`; a `concurrencyLevel` sent in a PUT returns 200 and changes nothing.
2359
2359
  - Turning it on copies `concurrencyLevel` into `targetConcurrencyLevel`; turning it off unsets the target and leaves `concurrencyLevel` at its current value, which may be below the old target if a recovery was in progress. A `targetConcurrencyLevel` written while this is false is unset by the save.
2360
- - These four settings (`concurrencyLevel`, `targetConcurrencyLevel`, `_borrowConcurrencyFromConnectionId`, this flag) accept a credential-free `PATCH /v1/connections/{_id}`. A PUT must re-send the credentials — omitting them or echoing their masked `******` values clears them.
2360
+ - These four settings (`concurrencyLevel`, `targetConcurrencyLevel`, `_borrowConcurrencyFromConnectionId`, this flag) accept a credential-free `PATCH /v1/connections/{_id}`. A PUT replaces the whole document, so send each secret back as its masked `******` value (that keeps it) or as a new value, and never drop one to keep it — an omitted password or `http.encrypted` is cleared, and a static token left out (with no `refreshMethod`) fails the PUT with 422.
2361
2361
  enableMicroBatchForOneToMany:
2362
2362
  type: boolean
2363
2363
  default: true
@@ -4008,7 +4008,9 @@ components:
4008
4008
  - svc_account
4009
4009
  password:
4010
4010
  type: string
4011
- description: Password for Basic/Digest/WSSE authentication (encrypted at rest).
4011
+ description: |-
4012
+ Password for Basic/Digest/WSSE authentication (encrypted at rest). On update, the
4013
+ masked `"******"` sent back keeps the stored password; a new value replaces it.
4012
4014
  writeOnly: true
4013
4015
  examples:
4014
4016
  - s3cr3t-p4ssw0rd
@@ -4025,6 +4027,7 @@ components:
4025
4027
  type: string
4026
4028
  description: |
4027
4029
  The API key or bearer token value (encrypted at rest); returned masked as `"******"`.
4030
+ On update, the mask sent back keeps the stored token; a new value replaces it.
4028
4031
  Required unless automatic token refresh is configured.
4029
4032
  examples:
4030
4033
  - my-api-token-EXAMPLE
@@ -4487,7 +4490,8 @@ components:
4487
4490
  Encrypted custom fields for storing sensitive configuration values (API secrets,
4488
4491
  private keys, etc.) that don't fit standard auth fields. Sent as an object of
4489
4492
  field-name/value pairs; values are encrypted at rest. Returned as the masked
4490
- string `"******"` on responses. Field definitions are specified in encryptedFields.
4493
+ string `"******"` on responses; on update, that mask sent back keeps the stored values,
4494
+ and a new object replaces them. Field definitions are specified in encryptedFields.
4491
4495
  examples:
4492
4496
  - apiSecret: s3cr3t-value
4493
4497
  signingKey: another-s3cr3t
@@ -6229,6 +6233,7 @@ components:
6229
6233
  type: string
6230
6234
  description: |
6231
6235
  The API key or bearer token value (encrypted at rest); returned masked as `"******"`.
6236
+ On update, the mask sent back keeps the stored token; a new value replaces it.
6232
6237
  Required unless automatic token refresh is configured.
6233
6238
  examples:
6234
6239
  - my-api-token-EXAMPLE
package/dist/export.yml CHANGED
@@ -984,10 +984,13 @@ components:
984
984
  description: |-
985
985
  Configures incremental exports that retrieve only records created or modified since the last
986
986
  successful run. Required when the export's type is "delta"; omit for other export types.
987
- When no cutoff is supplied, the platform-managed last-successful-run timestamp (exposed as
988
- {{lastExportDateTime}}) is the lower bound — the first run behaves like a full export, and
989
- after a failed run the next run reuses the last successful timestamp so changed records are
990
- not missed.
987
+ The platform-managed last-successful-run timestamp (exposed as {{lastExportDateTime}}) is the
988
+ lower bound, and after a failed run the next run reuses the last successful timestamp so
989
+ changed records are not missed. A first run is not a full export: with no `startDate`, its
990
+ {{lastExportDateTime}} is the run's own timestamp (the value {{currentExportDateTime}} also
991
+ holds), so it picks up no earlier changes. Set `startDate` to reach back further. On success,
992
+ when `POST /v1/flows/{_id}/run` sends `export.endDate`, the flow's checkpoint is left at that
993
+ value, so an end date in the past moves the next run's lower bound back.
991
994
  x-celigo-ai-guidance:
992
995
  - |-
993
996
  This object is REQUIRED when the export's type field is set to "delta" and
@@ -1023,7 +1026,7 @@ components:
1023
1026
 
1024
1027
  2. The system automatically maintains the last successful run timestamp
1025
1028
  - No need to store or manage timestamps in your own code
1026
- - First run fetches all records (equivalent to a standard export)
1029
+ - A first run without ``startDate`` fetches nothing older than the run itself
1027
1030
  - Subsequent runs use this timestamp as the starting point
1028
1031
 
1029
1032
  3. Error handling and recovery:
@@ -1245,9 +1248,9 @@ components:
1245
1248
  - 'null'
1246
1249
  format: date-time
1247
1250
  description: |-
1248
- Explicit lower-bound cutoff for the first run, overriding the default of starting from the
1249
- beginning of time. Subsequent runs use the platform-managed last-successful-run timestamp.
1250
- Set it to backfill from a specific point rather than exporting all history.
1251
+ Lower-bound cutoff for the first run. Omitting it doesn't export history: the first run
1252
+ then starts at its own timestamp. Set it to the earliest change the first run should pick
1253
+ up. Subsequent runs use the platform-managed last-successful-run timestamp.
1251
1254
  x-celigo-ai-guidance:
1252
1255
  - |-
1253
1256
  Initial cutoff timestamp for the first export run, in ISO-8601 UTC format (e.g.
@@ -6001,7 +6004,9 @@ components:
6001
6004
  description: |-
6002
6005
  Topic this listener subscribes to. Create or look it up with `GET /v1/topics`; the
6003
6006
  topic must belong to the same account. Pointing an existing listener at a different
6004
- topic starts a new subscription, read from `startPosition`.
6007
+ topic starts a new subscription, read from `startPosition`. A clone made in the same
6008
+ environment — of this export, or of a flow that contains it — keeps `_topicId`, so the
6009
+ copy becomes another listener on the topic once its flow is enabled.
6005
6010
  x-celigo-ai-guidance:
6006
6011
  - |-
6007
6012
  An id that is not a topic in the account fails the save with 422 `invalid_ref`
@@ -16517,7 +16522,10 @@ components:
16517
16522
  - 'null'
16518
16523
  format: objectId
16519
16524
  x-celigo-refModel: integrations
16520
- description: Integration this export belongs to.
16525
+ description: |-
16526
+ Not stored on an export: a value sent on create or on a full update is dropped, and a GET
16527
+ doesn't return the field. An export isn't owned by an integration; to find the flows and
16528
+ other resources that use it, call `GET /v1/exports/{_id}/dependencies`.
16521
16529
  _connectorId:
16522
16530
  type: string
16523
16531
  format: objectId
@@ -2047,12 +2047,12 @@ paths:
2047
2047
  x-internal: false
2048
2048
  summary: Get audit log for a file
2049
2049
  description: |-
2050
- Returns the change history for a file — creation (recorded once the
2051
- upload finalizes), renames and description edits, moves, content
2052
- replacements, downloads, deletes, restores, and purges — newest first.
2053
- Each entry records who made the change, when, and which fields were
2054
- affected. History survives purging, so a purged file's entries stay
2055
- readable. Folders have their own route, `GET /v1/folders/{_id}/audit`.
2050
+ Returns the audit entries recorded for a file, newest first, or 204 with
2051
+ no body when it has none. File operations are no longer written to this
2052
+ audit log, so only entries recorded before that change are returned, and
2053
+ a file created since has none. Each entry records who made the change,
2054
+ when, and which fields were affected. Entries survive purging. Folders
2055
+ have their own route, `GET /v1/folders/{_id}/audit`.
2056
2056
  tags:
2057
2057
  - File Storage
2058
2058
  operationId: getStorageFileAudit
@@ -2166,11 +2166,12 @@ paths:
2166
2166
  x-internal: false
2167
2167
  summary: Get audit log for a folder
2168
2168
  description: |-
2169
- Returns the change history for a folder — creation, renames and
2170
- description edits, moves, deletes, restores, and purges — newest first.
2171
- Each entry records who made the change, when, and which fields were
2172
- affected. History survives purging, so a purged folder's entries stay
2173
- readable. Files have their own route, `GET /v1/files/{_id}/audit`.
2169
+ Returns the audit entries recorded for a folder, newest first, or 204
2170
+ with no body when it has none. Folder operations are no longer written
2171
+ to this audit log, so only entries recorded before that change are
2172
+ returned, and a folder created since has none. Each entry records who
2173
+ made the change, when, and which fields were affected. Entries survive
2174
+ purging. Files have their own route, `GET /v1/files/{_id}/audit`.
2174
2175
  tags:
2175
2176
  - File Storage
2176
2177
  operationId: getStorageFolderAudit
package/dist/flow.yml CHANGED
@@ -824,8 +824,9 @@ paths:
824
824
 
825
825
  The request body is optional. When omitted, the flow runs with its configured schedule behavior —
826
826
  for delta flows this means using the current `lastExportDateTime` as the lower bound. Pass
827
- `export.startDate` / `export.endDate` to override the delta window for this run only (the flow's
828
- checkpoint still advances on success). Pass `_exportIds` to limit execution to a subset of the flow's
827
+ `export.startDate` / `export.endDate` to set this run's delta window. On success, when
828
+ `export.endDate` is sent, the flow's checkpoint is left at that value, so an end date in the past
829
+ moves the next run's lower bound back. Pass `_exportIds` to limit execution to a subset of the flow's
829
830
  generators (useful for flows with many independent sources).
830
831
 
831
832
  Flow-level preconditions enforced by the platform:
@@ -835,8 +836,9 @@ paths:
835
836
 
836
837
  To trace a run end-to-end, arm debug logging before calling this, then use the returned
837
838
  `_jobId` with the execution-log endpoints. For delta backfills, prefer passing explicit
838
- `startDate`/`endDate` over editing the export's `lastExportDateTime` — the override is
839
- scoped to one run. A flow runs one instance at a time: a run requested while another
839
+ `startDate`/`endDate` over editing the export's `lastExportDateTime`, and read the checkpoint
840
+ first (`GET /v1/flows/{_id}/lastExportDateTime`): the override doesn't stay with one run, since
841
+ a successful run that sends `endDate` leaves the checkpoint there. A flow runs one instance at a time: a run requested while another
840
842
  instance is queued or running is refused with `409 job_already_queued` ("Another instance
841
843
  for this flow is already queued or running"), and a run-next-flow trigger that arrives in
842
844
  that state is dropped rather than queued.
@@ -1080,11 +1082,14 @@ paths:
1080
1082
  generators (exports) in the flow. This value is what gets substituted into the `{{lastExportDateTime}}`
1081
1083
  Handlebars variable on the next delta run of any export in the flow.
1082
1084
 
1083
- The checkpoint advances automatically at the end of a successful delta run. It can be overridden per
1084
- run by passing `export.startDate` / `export.endDate` to `POST /v1/flows/{_id}/run`.
1085
+ The checkpoint advances automatically at the end of a successful delta run. On success, when
1086
+ `POST /v1/flows/{_id}/run` sends `export.endDate`, the checkpoint is left at that value, so an end
1087
+ date in the past moves the next run's lower bound back.
1085
1088
 
1086
- A missing or very old value means the next delta run will re-scan the full history window from
1087
- the source. This is the flow-scoped checkpoint; per-export checkpoints (for flows with multiple
1089
+ A missing value (`null`, a flow that has never run) is not a full re-scan: the next delta run's
1090
+ `{{lastExportDateTime}}` is the export's `delta.startDate` when set, and otherwise the run's own
1091
+ timestamp, which picks up no earlier changes. A very old value re-reads everything changed since
1092
+ then. This is the flow-scoped checkpoint; per-export checkpoints (for flows with multiple
1088
1093
  generators that advance independently) are exposed on the export record's `delta` block.
1089
1094
  parameters:
1090
1095
  - name: _id
package/dist/iclient.yml CHANGED
@@ -324,9 +324,8 @@ paths:
324
324
  account: every update must include the full JSON key. An Azure
325
325
  service principal keeps its stored `clientSecret` or `certificate`
326
326
  when the field is omitted — only a new value replaces it, and
327
- `certificate` is never returned. Connections work the other way:
328
- re-sending the mask on `PUT /v1/connections/{_id}` clears the stored
329
- credential.
327
+ `certificate` is never returned. A connection keeps a secret re-sent
328
+ as the mask the same way (`PUT /v1/connections/{_id}`).
330
329
  operationId: updateIClient
331
330
  tags:
332
331
  - iClients
package/dist/import.yml CHANGED
@@ -8507,7 +8507,8 @@ components:
8507
8507
  x-celigo-ui-override: 'Required by the Event Streams publisher form (fieldDefinitions/resources/imports/import.js: ''topic._topicId'' is required:true, validWhen isNot ''''). The API saves a TopicImport without it, so the requirement is encoded on the request schema to mirror the form and keep publishers bound to a topic.'
8508
8508
  description: |-
8509
8509
  Topic the records are published to. Create or look it up with `GET /v1/topics`; the
8510
- topic must belong to the same account.
8510
+ topic must belong to the same account. A clone of the import made in the same
8511
+ environment keeps `_topicId`.
8511
8512
  x-celigo-ai-guidance:
8512
8513
  - |-
8513
8514
  An id that is not a topic in the account fails the save with 422 `invalid_ref`
@@ -15842,9 +15843,10 @@ components:
15842
15843
  - 'null'
15843
15844
  format: objectId
15844
15845
  x-celigo-refModel: integrations
15845
- description: Integration this import belongs to.
15846
- examples:
15847
- - 60a2c4e6f321d800129a1a3c
15846
+ description: |-
15847
+ Not stored on an import: a value sent on create or on a full update is dropped, and a GET
15848
+ doesn't return the field. An import isn't owned by an integration; to find the flows and
15849
+ other resources that use it, call `GET /v1/imports/{_id}/dependencies`.
15848
15850
  _connectorId:
15849
15851
  type: string
15850
15852
  format: objectId
@@ -4450,8 +4450,8 @@ components:
4450
4450
  Maintained by the platform: added through the integration's topic `register` operations,
4451
4451
  `POST /v1/topics` with `__integrationIds`, or automatically when a flow in the integration
4452
4452
  is saved with a step bound to a topic; removed by the `DELETE …/register` operation or when
4453
- the topic is deleted. Client-sent values are ignored (PUT-verified). Absent on integrations
4454
- that have never had a topic registered.
4453
+ the topic is deleted. Client-sent values are ignored (PUT-verified). With no topic
4454
+ registered it is an empty array, or absent on older integrations.
4455
4455
  items:
4456
4456
  type: string
4457
4457
  format: objectId
@@ -4188,7 +4188,7 @@ components:
4188
4188
  x-celigo-ai-guidance:
4189
4189
  - To change throughput while this is true, write `targetConcurrencyLevel`; a `concurrencyLevel` sent in a PUT returns 200 and changes nothing.
4190
4190
  - Turning it on copies `concurrencyLevel` into `targetConcurrencyLevel`; turning it off unsets the target and leaves `concurrencyLevel` at its current value, which may be below the old target if a recovery was in progress. A `targetConcurrencyLevel` written while this is false is unset by the save.
4191
- - These four settings (`concurrencyLevel`, `targetConcurrencyLevel`, `_borrowConcurrencyFromConnectionId`, this flag) accept a credential-free `PATCH /v1/connections/{_id}`. A PUT must re-send the credentials — omitting them or echoing their masked `******` values clears them.
4191
+ - These four settings (`concurrencyLevel`, `targetConcurrencyLevel`, `_borrowConcurrencyFromConnectionId`, this flag) accept a credential-free `PATCH /v1/connections/{_id}`. A PUT replaces the whole document, so send each secret back as its masked `******` value (that keeps it) or as a new value, and never drop one to keep it — an omitted password or `http.encrypted` is cleared, and a static token left out (with no `refreshMethod`) fails the PUT with 422.
4192
4192
  enableMicroBatchForOneToMany:
4193
4193
  type: boolean
4194
4194
  default: true
@@ -5839,7 +5839,9 @@ components:
5839
5839
  - svc_account
5840
5840
  password:
5841
5841
  type: string
5842
- description: Password for Basic/Digest/WSSE authentication (encrypted at rest).
5842
+ description: |-
5843
+ Password for Basic/Digest/WSSE authentication (encrypted at rest). On update, the
5844
+ masked `"******"` sent back keeps the stored password; a new value replaces it.
5843
5845
  writeOnly: true
5844
5846
  examples:
5845
5847
  - s3cr3t-p4ssw0rd
@@ -5856,6 +5858,7 @@ components:
5856
5858
  type: string
5857
5859
  description: |
5858
5860
  The API key or bearer token value (encrypted at rest); returned masked as `"******"`.
5861
+ On update, the mask sent back keeps the stored token; a new value replaces it.
5859
5862
  Required unless automatic token refresh is configured.
5860
5863
  examples:
5861
5864
  - my-api-token-EXAMPLE
@@ -6318,7 +6321,8 @@ components:
6318
6321
  Encrypted custom fields for storing sensitive configuration values (API secrets,
6319
6322
  private keys, etc.) that don't fit standard auth fields. Sent as an object of
6320
6323
  field-name/value pairs; values are encrypted at rest. Returned as the masked
6321
- string `"******"` on responses. Field definitions are specified in encryptedFields.
6324
+ string `"******"` on responses; on update, that mask sent back keeps the stored values,
6325
+ and a new object replaces them. Field definitions are specified in encryptedFields.
6322
6326
  examples:
6323
6327
  - apiSecret: s3cr3t-value
6324
6328
  signingKey: another-s3cr3t
@@ -8060,6 +8064,7 @@ components:
8060
8064
  type: string
8061
8065
  description: |
8062
8066
  The API key or bearer token value (encrypted at rest); returned masked as `"******"`.
8067
+ On update, the mask sent back keeps the stored token; a new value replaces it.
8063
8068
  Required unless automatic token refresh is configured.
8064
8069
  examples:
8065
8070
  - my-api-token-EXAMPLE
package/dist/tool.yml CHANGED
@@ -7568,7 +7568,7 @@ components:
7568
7568
  x-celigo-ai-guidance:
7569
7569
  - To change throughput while this is true, write `targetConcurrencyLevel`; a `concurrencyLevel` sent in a PUT returns 200 and changes nothing.
7570
7570
  - Turning it on copies `concurrencyLevel` into `targetConcurrencyLevel`; turning it off unsets the target and leaves `concurrencyLevel` at its current value, which may be below the old target if a recovery was in progress. A `targetConcurrencyLevel` written while this is false is unset by the save.
7571
- - These four settings (`concurrencyLevel`, `targetConcurrencyLevel`, `_borrowConcurrencyFromConnectionId`, this flag) accept a credential-free `PATCH /v1/connections/{_id}`. A PUT must re-send the credentials — omitting them or echoing their masked `******` values clears them.
7571
+ - These four settings (`concurrencyLevel`, `targetConcurrencyLevel`, `_borrowConcurrencyFromConnectionId`, this flag) accept a credential-free `PATCH /v1/connections/{_id}`. A PUT replaces the whole document, so send each secret back as its masked `******` value (that keeps it) or as a new value, and never drop one to keep it — an omitted password or `http.encrypted` is cleared, and a static token left out (with no `refreshMethod`) fails the PUT with 422.
7572
7572
  enableMicroBatchForOneToMany:
7573
7573
  type: boolean
7574
7574
  default: true
@@ -9219,7 +9219,9 @@ components:
9219
9219
  - svc_account
9220
9220
  password:
9221
9221
  type: string
9222
- description: Password for Basic/Digest/WSSE authentication (encrypted at rest).
9222
+ description: |-
9223
+ Password for Basic/Digest/WSSE authentication (encrypted at rest). On update, the
9224
+ masked `"******"` sent back keeps the stored password; a new value replaces it.
9223
9225
  writeOnly: true
9224
9226
  examples:
9225
9227
  - s3cr3t-p4ssw0rd
@@ -9236,6 +9238,7 @@ components:
9236
9238
  type: string
9237
9239
  description: |
9238
9240
  The API key or bearer token value (encrypted at rest); returned masked as `"******"`.
9241
+ On update, the mask sent back keeps the stored token; a new value replaces it.
9239
9242
  Required unless automatic token refresh is configured.
9240
9243
  examples:
9241
9244
  - my-api-token-EXAMPLE
@@ -9698,7 +9701,8 @@ components:
9698
9701
  Encrypted custom fields for storing sensitive configuration values (API secrets,
9699
9702
  private keys, etc.) that don't fit standard auth fields. Sent as an object of
9700
9703
  field-name/value pairs; values are encrypted at rest. Returned as the masked
9701
- string `"******"` on responses. Field definitions are specified in encryptedFields.
9704
+ string `"******"` on responses; on update, that mask sent back keeps the stored values,
9705
+ and a new object replaces them. Field definitions are specified in encryptedFields.
9702
9706
  examples:
9703
9707
  - apiSecret: s3cr3t-value
9704
9708
  signingKey: another-s3cr3t
@@ -11440,6 +11444,7 @@ components:
11440
11444
  type: string
11441
11445
  description: |
11442
11446
  The API key or bearer token value (encrypted at rest); returned masked as `"******"`.
11447
+ On update, the mask sent back keeps the stored token; a new value replaces it.
11443
11448
  Required unless automatic token refresh is configured.
11444
11449
  examples:
11445
11450
  - my-api-token-EXAMPLE
@@ -19890,7 +19895,8 @@ components:
19890
19895
  x-celigo-ui-override: 'Required by the Event Streams publisher form (fieldDefinitions/resources/imports/import.js: ''topic._topicId'' is required:true, validWhen isNot ''''). The API saves a TopicImport without it, so the requirement is encoded on the request schema to mirror the form and keep publishers bound to a topic.'
19891
19896
  description: |-
19892
19897
  Topic the records are published to. Create or look it up with `GET /v1/topics`; the
19893
- topic must belong to the same account.
19898
+ topic must belong to the same account. A clone of the import made in the same
19899
+ environment keeps `_topicId`.
19894
19900
  x-celigo-ai-guidance:
19895
19901
  - |-
19896
19902
  An id that is not a topic in the account fails the save with 422 `invalid_ref`
@@ -24718,9 +24724,10 @@ components:
24718
24724
  - 'null'
24719
24725
  format: objectId
24720
24726
  x-celigo-refModel: integrations
24721
- description: Integration this import belongs to.
24722
- examples:
24723
- - 60a2c4e6f321d800129a1a3c
24727
+ description: |-
24728
+ Not stored on an import: a value sent on create or on a full update is dropped, and a GET
24729
+ doesn't return the field. An import isn't owned by an integration; to find the flows and
24730
+ other resources that use it, call `GET /v1/imports/{_id}/dependencies`.
24724
24731
  _connectorId:
24725
24732
  type: string
24726
24733
  format: objectId
@@ -25826,10 +25833,13 @@ components:
25826
25833
  description: |-
25827
25834
  Configures incremental exports that retrieve only records created or modified since the last
25828
25835
  successful run. Required when the export's type is "delta"; omit for other export types.
25829
- When no cutoff is supplied, the platform-managed last-successful-run timestamp (exposed as
25830
- {{lastExportDateTime}}) is the lower bound — the first run behaves like a full export, and
25831
- after a failed run the next run reuses the last successful timestamp so changed records are
25832
- not missed.
25836
+ The platform-managed last-successful-run timestamp (exposed as {{lastExportDateTime}}) is the
25837
+ lower bound, and after a failed run the next run reuses the last successful timestamp so
25838
+ changed records are not missed. A first run is not a full export: with no `startDate`, its
25839
+ {{lastExportDateTime}} is the run's own timestamp (the value {{currentExportDateTime}} also
25840
+ holds), so it picks up no earlier changes. Set `startDate` to reach back further. On success,
25841
+ when `POST /v1/flows/{_id}/run` sends `export.endDate`, the flow's checkpoint is left at that
25842
+ value, so an end date in the past moves the next run's lower bound back.
25833
25843
  x-celigo-ai-guidance:
25834
25844
  - |-
25835
25845
  This object is REQUIRED when the export's type field is set to "delta" and
@@ -25865,7 +25875,7 @@ components:
25865
25875
 
25866
25876
  2. The system automatically maintains the last successful run timestamp
25867
25877
  - No need to store or manage timestamps in your own code
25868
- - First run fetches all records (equivalent to a standard export)
25878
+ - A first run without ``startDate`` fetches nothing older than the run itself
25869
25879
  - Subsequent runs use this timestamp as the starting point
25870
25880
 
25871
25881
  3. Error handling and recovery:
@@ -26087,9 +26097,9 @@ components:
26087
26097
  - 'null'
26088
26098
  format: date-time
26089
26099
  description: |-
26090
- Explicit lower-bound cutoff for the first run, overriding the default of starting from the
26091
- beginning of time. Subsequent runs use the platform-managed last-successful-run timestamp.
26092
- Set it to backfill from a specific point rather than exporting all history.
26100
+ Lower-bound cutoff for the first run. Omitting it doesn't export history: the first run
26101
+ then starts at its own timestamp. Set it to the earliest change the first run should pick
26102
+ up. Subsequent runs use the platform-managed last-successful-run timestamp.
26093
26103
  x-celigo-ai-guidance:
26094
26104
  - |-
26095
26105
  Initial cutoff timestamp for the first export run, in ISO-8601 UTC format (e.g.
@@ -30403,7 +30413,9 @@ components:
30403
30413
  description: |-
30404
30414
  Topic this listener subscribes to. Create or look it up with `GET /v1/topics`; the
30405
30415
  topic must belong to the same account. Pointing an existing listener at a different
30406
- topic starts a new subscription, read from `startPosition`.
30416
+ topic starts a new subscription, read from `startPosition`. A clone made in the same
30417
+ environment — of this export, or of a flow that contains it — keeps `_topicId`, so the
30418
+ copy becomes another listener on the topic once its flow is enabled.
30407
30419
  x-celigo-ai-guidance:
30408
30420
  - |-
30409
30421
  An id that is not a topic in the account fails the save with 422 `invalid_ref`
@@ -37517,7 +37529,10 @@ components:
37517
37529
  - 'null'
37518
37530
  format: objectId
37519
37531
  x-celigo-refModel: integrations
37520
- description: Integration this export belongs to.
37532
+ description: |-
37533
+ Not stored on an export: a value sent on create or on a full update is dropped, and a GET
37534
+ doesn't return the field. An export isn't owned by an integration; to find the flows and
37535
+ other resources that use it, call `GET /v1/exports/{_id}/dependencies`.
37521
37536
  _connectorId:
37522
37537
  type: string
37523
37538
  format: objectId
package/dist/topic.yml CHANGED
@@ -616,9 +616,11 @@ paths:
616
616
  summary: Purge retained messages
617
617
  description: |-
618
618
  Removes every retained message from the topic while keeping the topic, its retention setting,
619
- and its subscriptions; the purge cannot be undone. Records an audit entry with `event: purge`
620
- and `fieldChanges[0].fieldPath: messages`. To remove the topic itself, use
621
- `DELETE /v1/topics/{_id}`.
619
+ and its subscriptions; the purge cannot be undone. Positions keep counting: the next message
620
+ published takes the next offset, subscribed listeners receive it as before, and a listener
621
+ whose saved position was purged resumes from the earliest message still retained. Records an
622
+ audit entry with `event: purge` and `fieldChanges[0].fieldPath: messages`. To remove the topic
623
+ itself, use `DELETE /v1/topics/{_id}`.
622
624
  operationId: purgeTopicMessages
623
625
  tags:
624
626
  - Topics
@@ -977,15 +979,19 @@ paths:
977
979
  purge: Retained messages were purged, or the topic was permanently removed from the recycle bin.
978
980
  source:
979
981
  type: string
980
- description: How the change was initiated. Restores from the recycle bin are recorded as `system`.
982
+ description: |-
983
+ How the change was initiated. A change made through the Celigo CLI is recorded as
984
+ `cli` — deletes, restores from the recycle bin, and message purges included.
981
985
  enum:
982
986
  - api
983
987
  - ui
984
988
  - system
989
+ - cli
985
990
  x-enumDescriptions:
986
991
  api: Change made via the REST API.
987
992
  ui: Change made through the Celigo UI.
988
993
  system: Change made by an automated platform process.
994
+ cli: Change made through the Celigo CLI.
989
995
  time:
990
996
  type: string
991
997
  format: date-time
@@ -1651,13 +1657,16 @@ components:
1651
1657
  hasCursor:
1652
1658
  type: boolean
1653
1659
  description: |-
1654
- When true, the export has committed a read position on this topic and its next run resumes
1655
- from `offset`. False when the export has never consumed the topic, when its last committed
1656
- position has expired from the stream, or when it does not listen to this topic at all — a
1657
- listener without a cursor starts from its own `topic.startPosition` (`latest` or `earliest`).
1658
- A listener whose flow is disabled keeps its position; a listener saved without
1659
- `type: "stream"`, or whose flow has not been enabled since the listener was saved, has
1660
- never subscribed and reports false.
1660
+ When true, the listener is subscribed to this topic and its next run resumes from `offset`.
1661
+ The position appears when the listener's flow goes from disabled to enabled, before anything
1662
+ is read: at the end of the stream under `topic.startPosition: latest`, at the first retained
1663
+ message under `earliest`. False when the listener has never subscribed — it was saved
1664
+ without `type: "stream"`, its flow has not gone from disabled to enabled since it was saved
1665
+ (a flow created enabled never subscribes), or it does not listen to this topic. A listener
1666
+ whose flow is disabled keeps its position. When the message at that position is no longer
1667
+ retained — it expired past `retentionMs` or was purged — the listener still reports true
1668
+ with the old `offset`, and its next run resumes from the earliest message still retained,
1669
+ whatever its `startPosition`.
1661
1670
  examples:
1662
1671
  - true
1663
1672
  - false
@@ -1666,8 +1675,9 @@ components:
1666
1675
  minimum: -1
1667
1676
  description: |-
1668
1677
  Zero-based position of the next message the export will read. `-1` when `hasCursor` is
1669
- false. The position counts from the start of the stream, so while no message has expired
1670
- the retained message count minus `offset` is the listener's backlog.
1678
+ false. The position counts from the start of the stream and keeps counting after a purge,
1679
+ so while no message has expired or been purged the retained message count minus `offset`
1680
+ is the listener's backlog.
1671
1681
  examples:
1672
1682
  - 1287
1673
1683
  - -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.146",
3
+ "version": "0.2.148",
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": "debaf90f",
4
+ "iasCommit": "c5f16e90",
5
5
  "generatedAt": "2026-10-21"
6
6
  },
7
7
  "roots": {