@celigo/api-specs 0.2.188 → 0.2.190

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
@@ -7160,19 +7160,25 @@ components:
7160
7160
  - |-
7161
7161
  The prebuilt Amazon connection forms collect the API type, selling region and marketplace
7162
7162
  and save an OAuth 2.0 authorization-code connection (`http.auth.type` `oauth`,
7163
- `http.auth.oauth.grantType` `authorizecode`, `useIClientFields` false) whose authorization
7164
- URI is the Seller Central or Vendor Central `/apps/authorize/consent` page — Amazon's
7165
- public-application consent, granted by the selling partner to Celigo's registered
7166
- Selling Partner API application. Celigo's Seller Central documentation states the customer
7167
- need not register as an Amazon developer (article 360060827012); the Vendor Central form
7168
- carries no developer credentials either.
7163
+ `http.auth.oauth.grantType` `authorizecode`) whose authorization URI is the Seller Central
7164
+ or Vendor Central `/apps/authorize/consent` page: Amazon's public-application consent,
7165
+ granted by the selling partner to Celigo's registered Selling Partner API application. For
7166
+ `vendor_central` the create request omits `http._iClientId` — the customer never sends
7167
+ one — and the connector writes Celigo's published Global iClient onto the saved
7168
+ connection as `http._iClientId` (`useIClientFields` true), so the saved document does
7169
+ carry an iClient id, Celigo's. Celigo's Seller
7170
+ Central documentation states the customer need not register as an Amazon developer
7171
+ (article 360060827012); the Vendor Central form carries no developer credentials either.
7169
7172
  - |-
7170
7173
  The prebuilt forms collect no Amazon developer application id, client secret, AWS
7171
- credentials or iClient — the Vendor Central form has no iClient field, and the Seller
7172
- Central form sets `http._iClientId` only for its legacy `Amazon-MWS` choice — so creating
7173
- one of these connections asks the customer for a Seller Central or Vendor Central account
7174
- for the chosen region and marketplace and a user who can complete Amazon's consent screen,
7175
- nothing more. A customer who must run on their OWN developer registration builds a
7174
+ credentials or customer-owned iClient (the Seller Central form offers an iClient field
7175
+ only for its legacy `Amazon-MWS` choice), so creating one of these connections asks the
7176
+ customer for a Seller Central or Vendor Central account for the chosen region and
7177
+ marketplace and a user who can complete Amazon's consent screen — for Vendor Central, a
7178
+ user holding the Manage Integrations (EDI/API) permission for the vendor group the
7179
+ integration should reach. Amazon requires public applications to be re-authorized every
7180
+ 365 days; the customer re-runs the authorization from the existing connection and nothing
7181
+ else changes. A customer who must run on their OWN developer registration builds a
7176
7182
  token-based or OAuth 2.0 universal HTTP connection to the Selling Partner API base URI
7177
7183
  instead (articles 6204088366363 and the OAuth 2.0 universal connector) and takes on
7178
7184
  Amazon's developer agreements themselves.
@@ -5779,19 +5779,25 @@ components:
5779
5779
  - |-
5780
5780
  The prebuilt Amazon connection forms collect the API type, selling region and marketplace
5781
5781
  and save an OAuth 2.0 authorization-code connection (`http.auth.type` `oauth`,
5782
- `http.auth.oauth.grantType` `authorizecode`, `useIClientFields` false) whose authorization
5783
- URI is the Seller Central or Vendor Central `/apps/authorize/consent` page — Amazon's
5784
- public-application consent, granted by the selling partner to Celigo's registered
5785
- Selling Partner API application. Celigo's Seller Central documentation states the customer
5786
- need not register as an Amazon developer (article 360060827012); the Vendor Central form
5787
- carries no developer credentials either.
5782
+ `http.auth.oauth.grantType` `authorizecode`) whose authorization URI is the Seller Central
5783
+ or Vendor Central `/apps/authorize/consent` page: Amazon's public-application consent,
5784
+ granted by the selling partner to Celigo's registered Selling Partner API application. For
5785
+ `vendor_central` the create request omits `http._iClientId` — the customer never sends
5786
+ one — and the connector writes Celigo's published Global iClient onto the saved
5787
+ connection as `http._iClientId` (`useIClientFields` true), so the saved document does
5788
+ carry an iClient id, Celigo's. Celigo's Seller
5789
+ Central documentation states the customer need not register as an Amazon developer
5790
+ (article 360060827012); the Vendor Central form carries no developer credentials either.
5788
5791
  - |-
5789
5792
  The prebuilt forms collect no Amazon developer application id, client secret, AWS
5790
- credentials or iClient — the Vendor Central form has no iClient field, and the Seller
5791
- Central form sets `http._iClientId` only for its legacy `Amazon-MWS` choice — so creating
5792
- one of these connections asks the customer for a Seller Central or Vendor Central account
5793
- for the chosen region and marketplace and a user who can complete Amazon's consent screen,
5794
- nothing more. A customer who must run on their OWN developer registration builds a
5793
+ credentials or customer-owned iClient (the Seller Central form offers an iClient field
5794
+ only for its legacy `Amazon-MWS` choice), so creating one of these connections asks the
5795
+ customer for a Seller Central or Vendor Central account for the chosen region and
5796
+ marketplace and a user who can complete Amazon's consent screen — for Vendor Central, a
5797
+ user holding the Manage Integrations (EDI/API) permission for the vendor group the
5798
+ integration should reach. Amazon requires public applications to be re-authorized every
5799
+ 365 days; the customer re-runs the authorization from the existing connection and nothing
5800
+ else changes. A customer who must run on their OWN developer registration builds a
5795
5801
  token-based or OAuth 2.0 universal HTTP connection to the Selling Partner API base URI
5796
5802
  instead (articles 6204088366363 and the OAuth 2.0 universal connector) and takes on
5797
5803
  Amazon's developer agreements themselves.
package/dist/enduser.yml CHANGED
@@ -3830,19 +3830,25 @@ components:
3830
3830
  - |-
3831
3831
  The prebuilt Amazon connection forms collect the API type, selling region and marketplace
3832
3832
  and save an OAuth 2.0 authorization-code connection (`http.auth.type` `oauth`,
3833
- `http.auth.oauth.grantType` `authorizecode`, `useIClientFields` false) whose authorization
3834
- URI is the Seller Central or Vendor Central `/apps/authorize/consent` page — Amazon's
3835
- public-application consent, granted by the selling partner to Celigo's registered
3836
- Selling Partner API application. Celigo's Seller Central documentation states the customer
3837
- need not register as an Amazon developer (article 360060827012); the Vendor Central form
3838
- carries no developer credentials either.
3833
+ `http.auth.oauth.grantType` `authorizecode`) whose authorization URI is the Seller Central
3834
+ or Vendor Central `/apps/authorize/consent` page: Amazon's public-application consent,
3835
+ granted by the selling partner to Celigo's registered Selling Partner API application. For
3836
+ `vendor_central` the create request omits `http._iClientId` — the customer never sends
3837
+ one — and the connector writes Celigo's published Global iClient onto the saved
3838
+ connection as `http._iClientId` (`useIClientFields` true), so the saved document does
3839
+ carry an iClient id, Celigo's. Celigo's Seller
3840
+ Central documentation states the customer need not register as an Amazon developer
3841
+ (article 360060827012); the Vendor Central form carries no developer credentials either.
3839
3842
  - |-
3840
3843
  The prebuilt forms collect no Amazon developer application id, client secret, AWS
3841
- credentials or iClient — the Vendor Central form has no iClient field, and the Seller
3842
- Central form sets `http._iClientId` only for its legacy `Amazon-MWS` choice — so creating
3843
- one of these connections asks the customer for a Seller Central or Vendor Central account
3844
- for the chosen region and marketplace and a user who can complete Amazon's consent screen,
3845
- nothing more. A customer who must run on their OWN developer registration builds a
3844
+ credentials or customer-owned iClient (the Seller Central form offers an iClient field
3845
+ only for its legacy `Amazon-MWS` choice), so creating one of these connections asks the
3846
+ customer for a Seller Central or Vendor Central account for the chosen region and
3847
+ marketplace and a user who can complete Amazon's consent screen — for Vendor Central, a
3848
+ user holding the Manage Integrations (EDI/API) permission for the vendor group the
3849
+ integration should reach. Amazon requires public applications to be re-authorized every
3850
+ 365 days; the customer re-runs the authorization from the existing connection and nothing
3851
+ else changes. A customer who must run on their OWN developer registration builds a
3846
3852
  token-based or OAuth 2.0 universal HTTP connection to the Selling Partner API base URI
3847
3853
  instead (articles 6204088366363 and the OAuth 2.0 universal connector) and takes on
3848
3854
  Amazon's developer agreements themselves.
package/dist/export.yml CHANGED
@@ -995,10 +995,12 @@ components:
995
995
  Configures incremental exports that retrieve only records created or modified since the
996
996
  flow's delta checkpoint; omit it for other export types. Adaptors that compare a record field
997
997
  name it in `dateField`, while HTTP exports and SQL queries carry {{lastExportDateTime}} in the
998
- request and save without a delta object. Each run's window runs from {{lastExportDateTime}}
999
- (the checkpoint) to {{currentExportDateTime}} (the time the run started). A first run is not a
1000
- full export: with no `startDate`, its {{lastExportDateTime}} is the run's own timestamp, so it
1001
- picks up no earlier changes. The checkpoint moves to a run's window end only when the run
998
+ request and save without a delta object. Each run reads the window from {{lastExportDateTime}}
999
+ to {{currentExportDateTime}}: the flow's checkpoint and the time the run started, both less
1000
+ `lagOffset` when it is set. Until a run has exported records the flow has no checkpoint, and
1001
+ {{lastExportDateTime}} is `startDate` itself, unshifted. A first run is not a full export: with
1002
+ no `startDate`, its {{lastExportDateTime}} is the run's own timestamp, so it picks up no
1003
+ earlier changes. The checkpoint moves to a run's start time only when the run
1002
1004
  exports records, so a run that exports nothing leaves it where it was, and after a failed run
1003
1005
  the next run reuses the last checkpoint. On success, when `POST /v1/flows/{_id}/run` sends
1004
1006
  `export.endDate`, the flow's checkpoint is left at that value, so an end date in the past
@@ -1025,7 +1027,7 @@ components:
1025
1027
  default ``startDate`` to **today at midnight UTC** in ISO-8601 format
1026
1028
  (e.g. ``"2026-05-14T00:00:00.000Z"``). This means the first run picks
1027
1029
  up records changed today; subsequent runs use the platform-managed
1028
- ``{{lastExportDateTime}}`` (the end of the last run that exported records).
1030
+ ``{{lastExportDateTime}}`` (the start of the last run that exported records, less ``lagOffset``).
1029
1031
 
1030
1032
  - First run: filters records changed since ``startDate``.
1031
1033
  - Subsequent runs: uses ``{{lastExportDateTime}}`` as the lower bound;
@@ -1041,10 +1043,13 @@ components:
1041
1043
  2. The system automatically maintains the checkpoint
1042
1044
  - No need to store or manage timestamps in your own code
1043
1045
  - A first run without ``startDate`` fetches nothing older than the run itself
1044
- - A run that exports records moves the checkpoint to its window end
1045
- ({{currentExportDateTime}}), where the next run starts
1046
- - Use {{lastExportDateTime}} as the lower bound; {{currentExportDateTime}} as the
1047
- lower bound asks for records changed after the run started, so every run exports nothing
1046
+ - A run that exports records moves the checkpoint to its start time. The next run
1047
+ reads from the checkpoint less ``lagOffset``, which is this run's
1048
+ {{currentExportDateTime}} while ``lagOffset`` is unchanged
1049
+ - Use {{lastExportDateTime}} as the lower bound. {{currentExportDateTime}} as the
1050
+ lower bound asks only for records changed after this run's start less ``lagOffset``
1051
+ (nothing when it is 0), so the changes from {{lastExportDateTime}} up to that bound are
1052
+ never exported
1048
1053
 
1049
1054
  3. Error handling and recovery:
1050
1055
  - If an export fails, the next run uses the last successful timestamp
@@ -1055,7 +1060,7 @@ components:
1055
1060
  - A run given its own window (export.startDate / export.endDate on
1056
1061
  POST /v1/flows/{_id}/run) that exports records leaves the checkpoint at endDate,
1057
1062
  even a past one, so the next run re-reads everything after it
1058
- - The lagOffset field can be used to handle edge cases
1063
+ - ``lagOffset`` delays every window by its value, for a source that shows changes late
1059
1064
  - |-
1060
1065
  Omit this object for export types other than "delta". An HTTP export with type
1061
1066
  "delta" saves without it, since the request carries {{lastExportDateTime}}, but
@@ -1225,46 +1230,36 @@ components:
1225
1230
  lagOffset:
1226
1231
  type: integer
1227
1232
  description: |-
1228
- Buffer in milliseconds subtracted from the last successful run timestamp, creating an
1229
- overlapping window that catches records still propagating when the previous run executed.
1230
- Set it when records created or modified near the run time are occasionally skipped due to
1231
- replication or indexing delays. Keep it as low as possible — larger values reprocess
1232
- redundant records. A negative value shifts the window forward (look-ahead) instead of back.
1233
+ Milliseconds taken off a run's start time to give `{{currentExportDateTime}}`, the window's
1234
+ upper bound, and off the flow's checkpoint, the start time of the last run that exported
1235
+ records, to give `{{lastExportDateTime}}`, its lower bound. Until a run has exported records
1236
+ there is no checkpoint, and the lower bound is `startDate` itself, unshifted, so a
1237
+ `startDate` within the last `lagOffset` gives the run an empty window. While the value stays the same, windows stay back to back and nothing is read twice:
1238
+ each record just reaches a run `lagOffset` later, after it has had that long to become
1239
+ visible. Changing it moves the next window's start by the change: raising it re-reads the
1240
+ added span once, and lowering it skips the removed span. Set it when records
1241
+ changed shortly before a run are sometimes missing because the source shows them with a
1242
+ delay (indexing, replication), and keep it no larger than that delay, since every record
1243
+ waits that much longer. Never set a negative value: once the flow has a checkpoint it moves
1244
+ both ends into the future, so a record changed in the `lagOffset` after each run falls in no
1245
+ window and is never exported (before a checkpoint only `{{currentExportDateTime}}` moves).
1233
1246
  x-celigo-ai-guidance:
1234
- - Specifies a time buffer (in milliseconds) to account for system data propagation delays.
1235
1247
  - |-
1236
- ## FIELD BEHAVIOR
1237
-
1238
- This field addresses synchronization issues caused by replication or indexing delays:
1239
-
1240
- - OPTIONAL: Only needed for systems with known data visibility delays
1241
- - Value is SUBTRACTED from the last successful run timestamp
1242
- - Creates an overlapping window to catch records that were being processed
1243
- during the previous export
1244
- - Measured in milliseconds (1000ms = 1 second)
1245
- - |-
1246
- ## IMPLEMENTATION PATTERN
1247
-
1248
- The formula for the effective filter date is:
1249
- ```
1250
- effectiveFilterDate = lastSuccessfulRunTime - lagOffset
1251
- ```
1252
- - |-
1253
- ## COMMON VALUES
1254
-
1255
- - 15000 (15 seconds): Typical for systems with short indexing delays
1256
- - 60000 (1 minute): Common for systems with moderate replication lag
1257
- - 300000 (5 minutes): For systems with significant processing delays
1248
+ Verified live (2026-10-23, an HTTP delta export run twice with `lagOffset` 3600000 and
1249
+ then twice with -3600000): each run's `{{currentExportDateTime}}` was its start minus
1250
+ `lagOffset`; the next run's `{{lastExportDateTime}}` was the previous run's start minus
1251
+ `lagOffset`, which equals the previous `{{currentExportDateTime}}` while the value is
1252
+ unchanged; the first successful run's `{{lastExportDateTime}}` was `startDate` unshifted,
1253
+ after two failed runs that hadn't moved it. With -3600000 both ends were an hour after
1254
+ the run, and the switch from 3600000 moved the next window's start two hours past the
1255
+ previous `{{currentExportDateTime}}`, skipping that span.
1258
1256
  - |-
1259
1257
  ## DIAGNOSIS
1260
1258
 
1261
- This field should be configured when you observe:
1262
- - Records occasionally missing from delta exports
1263
- - Records created/modified near the export run time being skipped
1264
- - Inconsistent results between runs with similar data changes
1265
-
1266
- IMPORTANT: Setting this value too high decreases efficiency by processing
1267
- redundant records. Set only as high as needed to avoid missed records.
1259
+ Set it when records created or modified near the run time are occasionally missing from
1260
+ a delta export because the source makes them visible late. Start from the observed delay
1261
+ (15000 to 300000 is typical) and raise it only as far as the misses stop: each record
1262
+ arrives `lagOffset` later, and each raise re-reads the added span once.
1268
1263
  examples:
1269
1264
  - 15000
1270
1265
  - 30000
@@ -1275,10 +1270,10 @@ components:
1275
1270
  - 'null'
1276
1271
  format: date-time
1277
1272
  description: |-
1278
- Lower-bound cutoff for the first run. Omitting it doesn't export history: the first run
1273
+ Lower-bound cutoff for the first run, and for every run until one exports records. Omitting it doesn't export history: the first run
1279
1274
  then starts at its own timestamp, an empty window. Set it to the earliest change the first
1280
- run should pick up. Later runs start from the flow's checkpoint, the end of the last run
1281
- that exported records.
1275
+ run should pick up. Later runs start from the flow's checkpoint, the start of the last run
1276
+ that exported records (less `lagOffset`).
1282
1277
  x-celigo-ai-guidance:
1283
1278
  - |-
1284
1279
  Initial cutoff timestamp for the first export run, in ISO-8601 UTC format (e.g.
@@ -1297,8 +1292,8 @@ components:
1297
1292
  - |-
1298
1293
  ## SUBSEQUENT RUNS
1299
1294
  After the first run that exports records, the platform keeps the
1300
- flow's checkpoint at the end of the last run that exported records
1301
- and exposes it as ``{{lastExportDateTime}}``; runs that export
1295
+ flow's checkpoint at the start of the last run that exported records
1296
+ and exposes it, less ``lagOffset``, as ``{{lastExportDateTime}}``; runs that export
1302
1297
  nothing leave it unchanged. ``startDate`` becomes the floor used
1303
1298
  only when the platform timestamp is absent (e.g. after a reset).
1304
1299
  - |-
package/dist/flow.yml CHANGED
@@ -5115,7 +5115,7 @@ components:
5115
5115
  description: Overrides the fixed start timestamp used for the delta window on the abstract flow's export, in place of the last successful run time.
5116
5116
  lagOffset:
5117
5117
  type: integer
5118
- description: Overrides the buffer in milliseconds subtracted from the last successful run timestamp, creating an overlapping window that catches late-propagating records.
5118
+ description: Overrides the abstract flow's export `delta.lagOffset` -- milliseconds taken off both ends of a delta window once the flow has a checkpoint, so records reach a run that much later. While the value stays the same, windows don't overlap; raising it re-reads the added span once, and lowering it skips the removed span. Never negative (once the flow has a checkpoint, that moves the window into the future and skips records).
5119
5119
  endDateField:
5120
5120
  type: string
5121
5121
  description: Overrides the record timestamp field used as the upper bound of the delta window on the abstract flow's export.
@@ -5666,19 +5666,25 @@ components:
5666
5666
  - |-
5667
5667
  The prebuilt Amazon connection forms collect the API type, selling region and marketplace
5668
5668
  and save an OAuth 2.0 authorization-code connection (`http.auth.type` `oauth`,
5669
- `http.auth.oauth.grantType` `authorizecode`, `useIClientFields` false) whose authorization
5670
- URI is the Seller Central or Vendor Central `/apps/authorize/consent` page — Amazon's
5671
- public-application consent, granted by the selling partner to Celigo's registered
5672
- Selling Partner API application. Celigo's Seller Central documentation states the customer
5673
- need not register as an Amazon developer (article 360060827012); the Vendor Central form
5674
- carries no developer credentials either.
5669
+ `http.auth.oauth.grantType` `authorizecode`) whose authorization URI is the Seller Central
5670
+ or Vendor Central `/apps/authorize/consent` page: Amazon's public-application consent,
5671
+ granted by the selling partner to Celigo's registered Selling Partner API application. For
5672
+ `vendor_central` the create request omits `http._iClientId` — the customer never sends
5673
+ one — and the connector writes Celigo's published Global iClient onto the saved
5674
+ connection as `http._iClientId` (`useIClientFields` true), so the saved document does
5675
+ carry an iClient id, Celigo's. Celigo's Seller
5676
+ Central documentation states the customer need not register as an Amazon developer
5677
+ (article 360060827012); the Vendor Central form carries no developer credentials either.
5675
5678
  - |-
5676
5679
  The prebuilt forms collect no Amazon developer application id, client secret, AWS
5677
- credentials or iClient — the Vendor Central form has no iClient field, and the Seller
5678
- Central form sets `http._iClientId` only for its legacy `Amazon-MWS` choice — so creating
5679
- one of these connections asks the customer for a Seller Central or Vendor Central account
5680
- for the chosen region and marketplace and a user who can complete Amazon's consent screen,
5681
- nothing more. A customer who must run on their OWN developer registration builds a
5680
+ credentials or customer-owned iClient (the Seller Central form offers an iClient field
5681
+ only for its legacy `Amazon-MWS` choice), so creating one of these connections asks the
5682
+ customer for a Seller Central or Vendor Central account for the chosen region and
5683
+ marketplace and a user who can complete Amazon's consent screen — for Vendor Central, a
5684
+ user holding the Manage Integrations (EDI/API) permission for the vendor group the
5685
+ integration should reach. Amazon requires public applications to be re-authorized every
5686
+ 365 days; the customer re-runs the authorization from the existing connection and nothing
5687
+ else changes. A customer who must run on their OWN developer registration builds a
5682
5688
  token-based or OAuth 2.0 universal HTTP connection to the Selling Partner API base URI
5683
5689
  instead (articles 6204088366363 and the OAuth 2.0 universal connector) and takes on
5684
5690
  Amazon's developer agreements themselves.
package/dist/tool.yml CHANGED
@@ -9200,19 +9200,25 @@ components:
9200
9200
  - |-
9201
9201
  The prebuilt Amazon connection forms collect the API type, selling region and marketplace
9202
9202
  and save an OAuth 2.0 authorization-code connection (`http.auth.type` `oauth`,
9203
- `http.auth.oauth.grantType` `authorizecode`, `useIClientFields` false) whose authorization
9204
- URI is the Seller Central or Vendor Central `/apps/authorize/consent` page — Amazon's
9205
- public-application consent, granted by the selling partner to Celigo's registered
9206
- Selling Partner API application. Celigo's Seller Central documentation states the customer
9207
- need not register as an Amazon developer (article 360060827012); the Vendor Central form
9208
- carries no developer credentials either.
9203
+ `http.auth.oauth.grantType` `authorizecode`) whose authorization URI is the Seller Central
9204
+ or Vendor Central `/apps/authorize/consent` page: Amazon's public-application consent,
9205
+ granted by the selling partner to Celigo's registered Selling Partner API application. For
9206
+ `vendor_central` the create request omits `http._iClientId` — the customer never sends
9207
+ one — and the connector writes Celigo's published Global iClient onto the saved
9208
+ connection as `http._iClientId` (`useIClientFields` true), so the saved document does
9209
+ carry an iClient id, Celigo's. Celigo's Seller
9210
+ Central documentation states the customer need not register as an Amazon developer
9211
+ (article 360060827012); the Vendor Central form carries no developer credentials either.
9209
9212
  - |-
9210
9213
  The prebuilt forms collect no Amazon developer application id, client secret, AWS
9211
- credentials or iClient — the Vendor Central form has no iClient field, and the Seller
9212
- Central form sets `http._iClientId` only for its legacy `Amazon-MWS` choice — so creating
9213
- one of these connections asks the customer for a Seller Central or Vendor Central account
9214
- for the chosen region and marketplace and a user who can complete Amazon's consent screen,
9215
- nothing more. A customer who must run on their OWN developer registration builds a
9214
+ credentials or customer-owned iClient (the Seller Central form offers an iClient field
9215
+ only for its legacy `Amazon-MWS` choice), so creating one of these connections asks the
9216
+ customer for a Seller Central or Vendor Central account for the chosen region and
9217
+ marketplace and a user who can complete Amazon's consent screen — for Vendor Central, a
9218
+ user holding the Manage Integrations (EDI/API) permission for the vendor group the
9219
+ integration should reach. Amazon requires public applications to be re-authorized every
9220
+ 365 days; the customer re-runs the authorization from the existing connection and nothing
9221
+ else changes. A customer who must run on their OWN developer registration builds a
9216
9222
  token-based or OAuth 2.0 universal HTTP connection to the Selling Partner API base URI
9217
9223
  instead (articles 6204088366363 and the OAuth 2.0 universal connector) and takes on
9218
9224
  Amazon's developer agreements themselves.
@@ -26739,10 +26745,12 @@ components:
26739
26745
  Configures incremental exports that retrieve only records created or modified since the
26740
26746
  flow's delta checkpoint; omit it for other export types. Adaptors that compare a record field
26741
26747
  name it in `dateField`, while HTTP exports and SQL queries carry {{lastExportDateTime}} in the
26742
- request and save without a delta object. Each run's window runs from {{lastExportDateTime}}
26743
- (the checkpoint) to {{currentExportDateTime}} (the time the run started). A first run is not a
26744
- full export: with no `startDate`, its {{lastExportDateTime}} is the run's own timestamp, so it
26745
- picks up no earlier changes. The checkpoint moves to a run's window end only when the run
26748
+ request and save without a delta object. Each run reads the window from {{lastExportDateTime}}
26749
+ to {{currentExportDateTime}}: the flow's checkpoint and the time the run started, both less
26750
+ `lagOffset` when it is set. Until a run has exported records the flow has no checkpoint, and
26751
+ {{lastExportDateTime}} is `startDate` itself, unshifted. A first run is not a full export: with
26752
+ no `startDate`, its {{lastExportDateTime}} is the run's own timestamp, so it picks up no
26753
+ earlier changes. The checkpoint moves to a run's start time only when the run
26746
26754
  exports records, so a run that exports nothing leaves it where it was, and after a failed run
26747
26755
  the next run reuses the last checkpoint. On success, when `POST /v1/flows/{_id}/run` sends
26748
26756
  `export.endDate`, the flow's checkpoint is left at that value, so an end date in the past
@@ -26769,7 +26777,7 @@ components:
26769
26777
  default ``startDate`` to **today at midnight UTC** in ISO-8601 format
26770
26778
  (e.g. ``"2026-05-14T00:00:00.000Z"``). This means the first run picks
26771
26779
  up records changed today; subsequent runs use the platform-managed
26772
- ``{{lastExportDateTime}}`` (the end of the last run that exported records).
26780
+ ``{{lastExportDateTime}}`` (the start of the last run that exported records, less ``lagOffset``).
26773
26781
 
26774
26782
  - First run: filters records changed since ``startDate``.
26775
26783
  - Subsequent runs: uses ``{{lastExportDateTime}}`` as the lower bound;
@@ -26785,10 +26793,13 @@ components:
26785
26793
  2. The system automatically maintains the checkpoint
26786
26794
  - No need to store or manage timestamps in your own code
26787
26795
  - A first run without ``startDate`` fetches nothing older than the run itself
26788
- - A run that exports records moves the checkpoint to its window end
26789
- ({{currentExportDateTime}}), where the next run starts
26790
- - Use {{lastExportDateTime}} as the lower bound; {{currentExportDateTime}} as the
26791
- lower bound asks for records changed after the run started, so every run exports nothing
26796
+ - A run that exports records moves the checkpoint to its start time. The next run
26797
+ reads from the checkpoint less ``lagOffset``, which is this run's
26798
+ {{currentExportDateTime}} while ``lagOffset`` is unchanged
26799
+ - Use {{lastExportDateTime}} as the lower bound. {{currentExportDateTime}} as the
26800
+ lower bound asks only for records changed after this run's start less ``lagOffset``
26801
+ (nothing when it is 0), so the changes from {{lastExportDateTime}} up to that bound are
26802
+ never exported
26792
26803
 
26793
26804
  3. Error handling and recovery:
26794
26805
  - If an export fails, the next run uses the last successful timestamp
@@ -26799,7 +26810,7 @@ components:
26799
26810
  - A run given its own window (export.startDate / export.endDate on
26800
26811
  POST /v1/flows/{_id}/run) that exports records leaves the checkpoint at endDate,
26801
26812
  even a past one, so the next run re-reads everything after it
26802
- - The lagOffset field can be used to handle edge cases
26813
+ - ``lagOffset`` delays every window by its value, for a source that shows changes late
26803
26814
  - |-
26804
26815
  Omit this object for export types other than "delta". An HTTP export with type
26805
26816
  "delta" saves without it, since the request carries {{lastExportDateTime}}, but
@@ -26969,46 +26980,36 @@ components:
26969
26980
  lagOffset:
26970
26981
  type: integer
26971
26982
  description: |-
26972
- Buffer in milliseconds subtracted from the last successful run timestamp, creating an
26973
- overlapping window that catches records still propagating when the previous run executed.
26974
- Set it when records created or modified near the run time are occasionally skipped due to
26975
- replication or indexing delays. Keep it as low as possible — larger values reprocess
26976
- redundant records. A negative value shifts the window forward (look-ahead) instead of back.
26977
- x-celigo-ai-guidance:
26978
- - Specifies a time buffer (in milliseconds) to account for system data propagation delays.
26979
- - |-
26980
- ## FIELD BEHAVIOR
26981
-
26982
- This field addresses synchronization issues caused by replication or indexing delays:
26983
-
26984
- - OPTIONAL: Only needed for systems with known data visibility delays
26985
- - Value is SUBTRACTED from the last successful run timestamp
26986
- - Creates an overlapping window to catch records that were being processed
26987
- during the previous export
26988
- - Measured in milliseconds (1000ms = 1 second)
26989
- - |-
26990
- ## IMPLEMENTATION PATTERN
26991
-
26992
- The formula for the effective filter date is:
26993
- ```
26994
- effectiveFilterDate = lastSuccessfulRunTime - lagOffset
26995
- ```
26996
- - |-
26997
- ## COMMON VALUES
26998
-
26999
- - 15000 (15 seconds): Typical for systems with short indexing delays
27000
- - 60000 (1 minute): Common for systems with moderate replication lag
27001
- - 300000 (5 minutes): For systems with significant processing delays
26983
+ Milliseconds taken off a run's start time to give `{{currentExportDateTime}}`, the window's
26984
+ upper bound, and off the flow's checkpoint, the start time of the last run that exported
26985
+ records, to give `{{lastExportDateTime}}`, its lower bound. Until a run has exported records
26986
+ there is no checkpoint, and the lower bound is `startDate` itself, unshifted, so a
26987
+ `startDate` within the last `lagOffset` gives the run an empty window. While the value stays the same, windows stay back to back and nothing is read twice:
26988
+ each record just reaches a run `lagOffset` later, after it has had that long to become
26989
+ visible. Changing it moves the next window's start by the change: raising it re-reads the
26990
+ added span once, and lowering it skips the removed span. Set it when records
26991
+ changed shortly before a run are sometimes missing because the source shows them with a
26992
+ delay (indexing, replication), and keep it no larger than that delay, since every record
26993
+ waits that much longer. Never set a negative value: once the flow has a checkpoint it moves
26994
+ both ends into the future, so a record changed in the `lagOffset` after each run falls in no
26995
+ window and is never exported (before a checkpoint only `{{currentExportDateTime}}` moves).
26996
+ x-celigo-ai-guidance:
26997
+ - |-
26998
+ Verified live (2026-10-23, an HTTP delta export run twice with `lagOffset` 3600000 and
26999
+ then twice with -3600000): each run's `{{currentExportDateTime}}` was its start minus
27000
+ `lagOffset`; the next run's `{{lastExportDateTime}}` was the previous run's start minus
27001
+ `lagOffset`, which equals the previous `{{currentExportDateTime}}` while the value is
27002
+ unchanged; the first successful run's `{{lastExportDateTime}}` was `startDate` unshifted,
27003
+ after two failed runs that hadn't moved it. With -3600000 both ends were an hour after
27004
+ the run, and the switch from 3600000 moved the next window's start two hours past the
27005
+ previous `{{currentExportDateTime}}`, skipping that span.
27002
27006
  - |-
27003
27007
  ## DIAGNOSIS
27004
27008
 
27005
- This field should be configured when you observe:
27006
- - Records occasionally missing from delta exports
27007
- - Records created/modified near the export run time being skipped
27008
- - Inconsistent results between runs with similar data changes
27009
-
27010
- IMPORTANT: Setting this value too high decreases efficiency by processing
27011
- redundant records. Set only as high as needed to avoid missed records.
27009
+ Set it when records created or modified near the run time are occasionally missing from
27010
+ a delta export because the source makes them visible late. Start from the observed delay
27011
+ (15000 to 300000 is typical) and raise it only as far as the misses stop: each record
27012
+ arrives `lagOffset` later, and each raise re-reads the added span once.
27012
27013
  examples:
27013
27014
  - 15000
27014
27015
  - 30000
@@ -27019,10 +27020,10 @@ components:
27019
27020
  - 'null'
27020
27021
  format: date-time
27021
27022
  description: |-
27022
- Lower-bound cutoff for the first run. Omitting it doesn't export history: the first run
27023
+ Lower-bound cutoff for the first run, and for every run until one exports records. Omitting it doesn't export history: the first run
27023
27024
  then starts at its own timestamp, an empty window. Set it to the earliest change the first
27024
- run should pick up. Later runs start from the flow's checkpoint, the end of the last run
27025
- that exported records.
27025
+ run should pick up. Later runs start from the flow's checkpoint, the start of the last run
27026
+ that exported records (less `lagOffset`).
27026
27027
  x-celigo-ai-guidance:
27027
27028
  - |-
27028
27029
  Initial cutoff timestamp for the first export run, in ISO-8601 UTC format (e.g.
@@ -27041,8 +27042,8 @@ components:
27041
27042
  - |-
27042
27043
  ## SUBSEQUENT RUNS
27043
27044
  After the first run that exports records, the platform keeps the
27044
- flow's checkpoint at the end of the last run that exported records
27045
- and exposes it as ``{{lastExportDateTime}}``; runs that export
27045
+ flow's checkpoint at the start of the last run that exported records
27046
+ and exposes it, less ``lagOffset``, as ``{{lastExportDateTime}}``; runs that export
27046
27047
  nothing leave it unchanged. ``startDate`` becomes the floor used
27047
27048
  only when the platform timestamp is absent (e.g. after a reset).
27048
27049
  - |-
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@celigo/api-specs",
3
- "version": "0.2.188",
3
+ "version": "0.2.190",
4
4
  "private": false,
5
5
  "description": "Public OpenAPI bundles (dist/) and the celigo-cli lint schema pack (schemas.json).",
6
6
  "keywords": [
package/schemas.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "provenance": {
3
3
  "repo": "celigo/integrator-api-specs",
4
- "iasCommit": "a6978822",
5
- "generatedAt": "2026-10-23"
4
+ "iasCommit": "c801232e",
5
+ "generatedAt": "2026-10-25"
6
6
  },
7
7
  "roots": {
8
8
  "aiagent": 128,