@celigo/api-specs 0.2.18 → 0.2.20

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/sync.yml CHANGED
@@ -888,12 +888,13 @@ paths:
888
888
  run is **asynchronous**: the response returns as soon as the job is queued. Use
889
889
  `GET /v1/syncJobs/{_syncJobId}` or `GET /v1/syncs/{_syncId}/syncJobs` to poll for terminal status.
890
890
 
891
- By default the run type is `"normal"` (incremental delta). Pass `runType: "resync"` to force a
892
- full re-extraction from the source, which drops the delta checkpoint and reloads all data.
891
+ A resync drops the delta checkpoint and reloads all data. Subset selection on a resync
892
+ is always accepted; on a normal run it is rejected unless the account has partial
893
+ normal sync enabled.
893
894
 
894
895
  Preconditions enforced by the platform:
895
896
  - The sync must not be disabled (`422 invalid_sync`).
896
- - There must not be a job already queued for this sync (`409 sync_job_already_queued`).
897
+ - There must not be a job already queued or running for this sync (`409 sync_job_already_queued`).
897
898
 
898
899
  The returned `flowExecutionGroupId` is a correlation key across jobs and errors. For
899
900
  multi-table syncs, a single run creates one parent job with per-table children visible via
@@ -921,6 +922,13 @@ paths:
921
922
  summary: Full resync from source
922
923
  value:
923
924
  runType: resync
925
+ resyncSubset:
926
+ summary: Resync selected datasets
927
+ value:
928
+ runType: resync
929
+ datasetIds:
930
+ - 6a559b547885d8f93921c2ba
931
+ - 6a559b547885d8f93921c2bb
924
932
  responses:
925
933
  '200':
926
934
  description: Sync run accepted and queued.
@@ -936,8 +944,10 @@ paths:
936
944
  flowExecutionGroupId: 6821c01c39db7c2b9cdc0e29
937
945
  '400':
938
946
  description: |-
939
- Bad request. Invalid `runType` value.
940
- Error code: `invalid_parameter`.
947
+ Bad request. Invalid `runType`, invalid `datasetIds` shape, subset selection on a
948
+ normal run when that is not enabled for the account, or datasets that do not
949
+ belong to this sync / are disabled.
950
+ Error codes: `invalid_parameter`, `invalid_dataset_selection`.
941
951
  content:
942
952
  application/json:
943
953
  schema:
@@ -948,7 +958,25 @@ paths:
948
958
  value:
949
959
  errors:
950
960
  - code: invalid_parameter
951
- message: Invalid value for runType.
961
+ message: 'runType must be one of: normal, resync'
962
+ dataset_ids_not_supported:
963
+ summary: Subset selection on a normal run is not enabled
964
+ value:
965
+ errors:
966
+ - code: invalid_parameter
967
+ message: datasetIds is not supported for normal sync runs
968
+ invalid_dataset_ids_shape:
969
+ summary: datasetIds is not a non-empty array of ObjectIds
970
+ value:
971
+ errors:
972
+ - code: invalid_parameter
973
+ message: datasetIds must be an array of valid dataset IDs
974
+ invalid_dataset_selection:
975
+ summary: Selected datasets do not belong to this sync or are disabled
976
+ value:
977
+ errors:
978
+ - code: invalid_dataset_selection
979
+ message: one or more selected datasets do not belong to this sync or are disabled
952
980
  '401':
953
981
  $ref: '#/components/responses/401-unauthorized'
954
982
  '404':
@@ -1004,12 +1032,10 @@ paths:
1004
1032
  - Sync Jobs
1005
1033
  summary: List sync jobs for a sync
1006
1034
  description: |-
1007
- Returns all sync job records for the given sync, ordered by creation time (most recent first).
1008
- The response wraps the array in a `data` field alongside a `totalCount`.
1009
-
1010
- Note: although the response shape suggests pagination (`totalCount`), the `limit`, `offset`,
1011
- and `status` query parameters are silently ignored by the server as of this writing. The
1012
- endpoint always returns the complete list of jobs.
1035
+ Returns parent sync jobs for the given sync, newest first. When a created-at filter is
1036
+ set, `queued` and `running` jobs are pinned to the first pages even if they fall outside
1037
+ the range; `canceling` jobs are not pinned. Follow `Link` header URLs as-is to page
1038
+ through pinned jobs and then the date-filtered remainder.
1013
1039
  parameters:
1014
1040
  - name: _syncId
1015
1041
  in: path
@@ -1019,9 +1045,73 @@ paths:
1019
1045
  type: string
1020
1046
  format: objectId
1021
1047
  x-celigo-refModel: syncs
1048
+ - name: pageSize
1049
+ in: query
1050
+ required: false
1051
+ description: Maximum number of jobs to return per page.
1052
+ schema:
1053
+ type: integer
1054
+ minimum: 1
1055
+ maximum: 100
1056
+ default: 100
1057
+ examples:
1058
+ - 25
1059
+ - name: after
1060
+ in: query
1061
+ required: false
1062
+ description: |-
1063
+ Opaque pagination cursor for the next page. Take it from the `after` value in
1064
+ the `Link` response header's `rel="next"` URL rather than constructing it.
1065
+ schema:
1066
+ type: string
1067
+ - name: before
1068
+ in: query
1069
+ required: false
1070
+ description: |-
1071
+ Opaque pagination cursor for the previous page. Take it from the `before` value in
1072
+ the `Link` response header's `rel="prev"` URL rather than constructing it.
1073
+ schema:
1074
+ type: string
1075
+ - name: createdAt_gt
1076
+ in: query
1077
+ required: false
1078
+ description: Only return jobs created after this time. Accepts ISO 8601 or epoch milliseconds.
1079
+ schema:
1080
+ type: string
1081
+ examples:
1082
+ - '2026-04-01T00:00:00.000Z'
1083
+ - name: createdAt_lte
1084
+ in: query
1085
+ required: false
1086
+ description: Only return jobs created at or before this time. Accepts ISO 8601 or epoch milliseconds.
1087
+ schema:
1088
+ type: string
1089
+ examples:
1090
+ - '2026-04-30T23:59:59.000Z'
1091
+ - name: listPhase
1092
+ in: query
1093
+ required: false
1094
+ description: |-
1095
+ Pagination phase echoed in `Link` URLs when a date filter is present. Follow those
1096
+ URLs as-is rather than setting this yourself.
1097
+ schema:
1098
+ type: string
1099
+ enum:
1100
+ - pinned
1101
+ - historical
1102
+ x-enumDescriptions:
1103
+ pinned: Pages queued and running jobs first
1104
+ historical: Pages the date-filtered remainder (completed, failed, canceled, canceling)
1022
1105
  responses:
1023
1106
  '200':
1024
- description: List of sync jobs.
1107
+ description: Page of sync jobs.
1108
+ headers:
1109
+ Link:
1110
+ description: |-
1111
+ RFC 5988 pagination links. Includes `<...>; rel="next"` and/or
1112
+ `<...>; rel="prev"` when more pages remain; absent on a single page.
1113
+ schema:
1114
+ type: string
1025
1115
  content:
1026
1116
  application/json:
1027
1117
  schema:
@@ -1060,8 +1150,30 @@ paths:
1060
1150
  numExtractedRecords: 11982
1061
1151
  numTablesSynced: 3
1062
1152
  triggeredBy: schedule
1063
- runType: normal
1153
+ runType: resync
1154
+ datasetIds:
1155
+ - 6a559b547885d8f93921c2ba
1064
1156
  totalCount: 2
1157
+ empty:
1158
+ summary: Sync with no jobs
1159
+ value:
1160
+ data: []
1161
+ totalCount: 0
1162
+ '400':
1163
+ description: |-
1164
+ Invalid pagination cursor or query parameter.
1165
+ Error code: `invalid_query_param`.
1166
+ content:
1167
+ application/json:
1168
+ schema:
1169
+ $ref: '#/components/schemas/Error'
1170
+ examples:
1171
+ invalid_query_param:
1172
+ summary: Malformed pagination cursor
1173
+ value:
1174
+ errors:
1175
+ - code: invalid_query_param
1176
+ message: Invalid pagination cursor.
1065
1177
  '401':
1066
1178
  $ref: '#/components/responses/401-unauthorized'
1067
1179
  '404':
@@ -1085,14 +1197,15 @@ paths:
1085
1197
  operationId: cancelSyncJobs
1086
1198
  tags:
1087
1199
  - Sync Jobs
1088
- summary: Cancel all running sync jobs for a sync
1200
+ summary: Cancel all in-progress sync jobs
1089
1201
  description: |-
1090
- Cancels all currently running or queued sync jobs for the given sync. This is a bulk cancel
1091
- that affects every in-progress job associated with the sync.
1202
+ Cancels every queued or running sync job for the given sync, including the underlying
1203
+ flow jobs for each run.
1092
1204
 
1093
- If there are no cancellable jobs (all jobs are already in a terminal state), the request
1094
- is rejected. To cancel a single specific job instead, use
1095
- `PUT /v1/syncJobs/{_syncJobId}/cancel`.
1205
+ If every job is already terminal, the request is rejected. If parent jobs are canceled
1206
+ but no flow jobs remain, the response includes a confirmation message instead of an
1207
+ empty success. A job whose cancellation is already in progress is not cancelled again.
1208
+ To cancel a single specific job instead, use `PUT /v1/syncJobs/{_syncJobId}/cancel`.
1096
1209
  parameters:
1097
1210
  - name: _syncId
1098
1211
  in: path
@@ -1103,8 +1216,25 @@ paths:
1103
1216
  format: objectId
1104
1217
  x-celigo-refModel: syncs
1105
1218
  responses:
1219
+ '200':
1220
+ description: Parent jobs canceled; no remaining flow jobs to cancel.
1221
+ content:
1222
+ application/json:
1223
+ schema:
1224
+ type: object
1225
+ properties:
1226
+ message:
1227
+ type: string
1228
+ description: Confirmation that there were no remaining flow jobs to cancel.
1229
+ examples:
1230
+ - No more jobs to cancel
1231
+ examples:
1232
+ no_more_jobs:
1233
+ summary: Parents canceled with no remaining flow jobs
1234
+ value:
1235
+ message: No more jobs to cancel
1106
1236
  '204':
1107
- description: All running sync jobs have been canceled. No response body.
1237
+ description: Cancellation accepted. No response body.
1108
1238
  '401':
1109
1239
  $ref: '#/components/responses/401-unauthorized'
1110
1240
  '404':
@@ -1117,11 +1247,26 @@ paths:
1117
1247
  $ref: '#/components/schemas/Error'
1118
1248
  examples:
1119
1249
  no_jobs:
1120
- summary: No running jobs to cancel
1250
+ summary: No queued or running jobs to cancel
1121
1251
  value:
1122
1252
  errors:
1123
1253
  - code: sync_jobs_not_found
1124
1254
  message: No cancellable sync jobs found.
1255
+ '409':
1256
+ description: |-
1257
+ Cancellation is already in progress for the remaining jobs.
1258
+ Error code: `sync_job_cancellation_in_progress`.
1259
+ content:
1260
+ application/json:
1261
+ schema:
1262
+ $ref: '#/components/schemas/Error'
1263
+ examples:
1264
+ cancellation_in_progress:
1265
+ summary: Jobs already canceling
1266
+ value:
1267
+ errors:
1268
+ - code: sync_job_cancellation_in_progress
1269
+ message: 'Cancellation is already in progress for sync job(s): 6821c01c39db7c2b9cdc0e30.'
1125
1270
  /v1/syncJobs/{_syncJobId}:
1126
1271
  get:
1127
1272
  x-internal: false
@@ -1271,17 +1416,12 @@ paths:
1271
1416
  - Sync Jobs
1272
1417
  summary: List errors for a sync job
1273
1418
  description: |-
1274
- Returns an array of error records for the given parent sync job. Errors are produced during
1275
- extraction or loading and are scoped to individual tables.
1276
-
1277
- The response includes an `x-total-count` header with the total number of errors (useful when
1278
- filtering by child job).
1419
+ Returns errors produced during extraction or loading for the given parent sync job,
1420
+ scoped to individual tables.
1279
1421
 
1280
- Use the `_childJobId` query parameter to filter errors to a single table's child job. Without
1281
- it, errors across all tables in the run are returned. To find a child job id, call
1282
- `GET /v1/syncJobs/{_syncJobId}/family` and read `tables[]._id`. Each error also carries a
1283
- `tableName` field for client-side grouping. The response is a bare array, not wrapped in a
1284
- `data` envelope.
1422
+ Use `_childJobId` to filter to a single table. Without it, errors across all tables
1423
+ in the run are returned. To find a child job id, call
1424
+ `GET /v1/syncJobs/{_syncJobId}/family` and read `tables[]._id`.
1285
1425
  parameters:
1286
1426
  - name: _parentJobId
1287
1427
  in: path
@@ -1295,21 +1435,54 @@ paths:
1295
1435
  in: query
1296
1436
  required: false
1297
1437
  description: |-
1298
- Optional child (table-level) job id to filter errors to a single table.
1438
+ Child (table-level) job id to filter errors to a single table.
1299
1439
  Obtain this from the `tables[]._id` field in the job family response.
1300
1440
  schema:
1301
1441
  type: string
1302
1442
  format: objectId
1303
1443
  examples:
1304
1444
  - 6821c01c39db7c2b9cdc0e31
1445
+ - name: pageSize
1446
+ in: query
1447
+ required: false
1448
+ description: Maximum number of errors to return per page.
1449
+ schema:
1450
+ type: integer
1451
+ minimum: 1
1452
+ maximum: 100
1453
+ default: 100
1454
+ examples:
1455
+ - 25
1456
+ - name: after
1457
+ in: query
1458
+ required: false
1459
+ description: |-
1460
+ Opaque pagination cursor for the next page. Take it from the `after` value in
1461
+ the `Link` response header's `rel="next"` URL rather than constructing it.
1462
+ schema:
1463
+ type: string
1464
+ - name: before
1465
+ in: query
1466
+ required: false
1467
+ description: |-
1468
+ Opaque pagination cursor for the previous page. Take it from the `before` value in
1469
+ the `Link` response header's `rel="prev"` URL rather than constructing it.
1470
+ schema:
1471
+ type: string
1305
1472
  responses:
1306
1473
  '200':
1307
1474
  description: Array of sync error records.
1308
1475
  headers:
1309
- x-total-count:
1310
- description: Total number of errors matching the query.
1476
+ X-Total-Count:
1477
+ description: Total number of errors matching the query, ignoring the current page.
1311
1478
  schema:
1312
1479
  type: integer
1480
+ Link:
1481
+ description: |-
1482
+ RFC 5988 pagination links. Includes `<...>; rel="next"` and/or
1483
+ `<...>; rel="prev"` when more pages remain; absent on a single page.
1484
+ schema:
1485
+ type: string
1313
1486
  content:
1314
1487
  application/json:
1315
1488
  schema:
@@ -1349,6 +1522,21 @@ paths:
1349
1522
  empty:
1350
1523
  summary: No errors
1351
1524
  value: []
1525
+ '400':
1526
+ description: |-
1527
+ Invalid pagination cursor or query parameter.
1528
+ Error code: `invalid_query_param`.
1529
+ content:
1530
+ application/json:
1531
+ schema:
1532
+ $ref: '#/components/schemas/Error'
1533
+ examples:
1534
+ invalid_query_param:
1535
+ summary: Malformed pagination cursor
1536
+ value:
1537
+ errors:
1538
+ - code: invalid_query_param
1539
+ message: Invalid pagination cursor.
1352
1540
  '401':
1353
1541
  $ref: '#/components/responses/401-unauthorized'
1354
1542
  '404':
@@ -1361,11 +1549,13 @@ paths:
1361
1549
  - Sync Jobs
1362
1550
  summary: Cancel a single sync job
1363
1551
  description: |-
1364
- Cancels a specific sync job by id.
1552
+ Cancels a specific sync job by id, including its underlying flow jobs.
1365
1553
 
1366
- Only jobs that are still in progress (`running`) can be canceled. Jobs already in a terminal
1367
- state (`completed`, `failed`, `canceled`) cannot be canceled. To cancel all running jobs for
1368
- a sync at once, use `PUT /v1/syncs/{_syncId}/syncJobs/cancel` instead.
1554
+ Only queued or running jobs can be canceled. Terminal jobs cannot. A job whose
1555
+ cancellation is already in progress is not cancelled again. If the parent is canceled
1556
+ but no flow jobs remain, the response includes a confirmation message instead of an
1557
+ empty success. To cancel all in-progress jobs for a sync at once, use
1558
+ `PUT /v1/syncs/{_syncId}/syncJobs/cancel`.
1369
1559
  parameters:
1370
1560
  - name: _syncJobId
1371
1561
  in: path
@@ -1376,8 +1566,25 @@ paths:
1376
1566
  format: objectId
1377
1567
  x-celigo-refModel: syncJobs
1378
1568
  responses:
1569
+ '200':
1570
+ description: Parent job canceled; no remaining flow jobs to cancel.
1571
+ content:
1572
+ application/json:
1573
+ schema:
1574
+ type: object
1575
+ properties:
1576
+ message:
1577
+ type: string
1578
+ description: Confirmation that there were no remaining flow jobs to cancel.
1579
+ examples:
1580
+ - No more jobs to cancel
1581
+ examples:
1582
+ no_more_jobs:
1583
+ summary: Parent canceled with no remaining flow jobs
1584
+ value:
1585
+ message: No more jobs to cancel
1379
1586
  '204':
1380
- description: Sync job canceled successfully. No response body.
1587
+ description: Cancellation accepted. No response body.
1381
1588
  '401':
1382
1589
  $ref: '#/components/responses/401-unauthorized'
1383
1590
  '403':
@@ -1394,9 +1601,24 @@ paths:
1394
1601
  value:
1395
1602
  errors:
1396
1603
  - code: sync_job_not_cancellable
1397
- message: The sync job is not in a cancellable state.
1604
+ message: The job 6821c01c39db7c2b9cdc0e30 is already in terminal state. Status - completed
1398
1605
  '404':
1399
1606
  $ref: '#/components/responses/404-not-found'
1607
+ '409':
1608
+ description: |-
1609
+ Cancellation is already in progress for this job.
1610
+ Error code: `sync_job_cancellation_in_progress`.
1611
+ content:
1612
+ application/json:
1613
+ schema:
1614
+ $ref: '#/components/schemas/Error'
1615
+ examples:
1616
+ cancellation_in_progress:
1617
+ summary: Job already canceling
1618
+ value:
1619
+ errors:
1620
+ - code: sync_job_cancellation_in_progress
1621
+ message: 'Cancellation is already in progress for sync job(s): 6821c01c39db7c2b9cdc0e30.'
1400
1622
  /v1/integrations/{_integrationId}/syncJobs/latest:
1401
1623
  get:
1402
1624
  x-internal: false
@@ -4220,9 +4442,8 @@ components:
4220
4442
  SyncRunRequest:
4221
4443
  type: object
4222
4444
  description: |-
4223
- Optional request body for triggering a sync run. When omitted or sent as `{}`, the sync runs
4224
- with `runType: "normal"` (incremental delta). Pass `runType: "resync"` to force a full re-extraction
4225
- from the source system, discarding the current delta checkpoint.
4445
+ Optional request body for triggering a sync run. When omitted or sent as `{}`, the sync
4446
+ runs every enabled dataset as an incremental delta.
4226
4447
  properties:
4227
4448
  runType:
4228
4449
  type: string
@@ -4234,9 +4455,32 @@ components:
4234
4455
  normal: Incremental delta sync extracting only records modified since the last run.
4235
4456
  resync: Full resync re-extracting all records from the source system.
4236
4457
  default: normal
4458
+ datasetIds:
4459
+ type: array
4460
+ minItems: 1
4461
+ description: |-
4462
+ Scopes this run to these datasets on the sync. Omit the field to run every
4463
+ enabled dataset; an empty array is rejected. Each id must belong to this sync
4464
+ and be enabled, and subset selection on a normal run is rejected unless the
4465
+ account has partial normal sync enabled.
4466
+ items:
4467
+ type: string
4468
+ format: objectId
4469
+ x-celigo-refModel: datasets
4470
+ examples:
4471
+ - - 6a559b547885d8f93921c2ba
4472
+ - 6a559b547885d8f93921c2bb
4473
+ x-celigo-ai-guidance:
4474
+ - Omit datasetIds to run every enabled dataset. Empty array is rejected; duplicates are de-duplicated.
4475
+ - Partial selection with runType resync is always accepted. Partial selection with runType normal is rejected with invalid_parameter unless the account has partial normal sync enabled.
4476
+ - Datasets that do not belong to this sync or are disabled fail with 400 invalid_dataset_selection.
4237
4477
  examples:
4238
4478
  - runType: normal
4239
4479
  - runType: resync
4480
+ - runType: resync
4481
+ datasetIds:
4482
+ - 6a559b547885d8f93921c2ba
4483
+ - 6a559b547885d8f93921c2bb
4240
4484
  SyncRunResponse:
4241
4485
  type: object
4242
4486
  description: |-
@@ -4340,18 +4584,19 @@ components:
4340
4584
  type: string
4341
4585
  readOnly: true
4342
4586
  description: |-
4343
- Current lifecycle state. Jobs start as `queued` when a run is accepted, move to
4344
- `running` once a worker picks them up, and end as `completed`, `failed`, or
4345
- `canceled`.
4587
+ Current lifecycle state. Cancel is asynchronous: the job stays non-terminal
4588
+ until in-flight work stops.
4346
4589
  enum:
4347
4590
  - queued
4348
4591
  - running
4592
+ - canceling
4349
4593
  - completed
4350
4594
  - failed
4351
4595
  - canceled
4352
4596
  x-enumDescriptions:
4353
4597
  queued: Run accepted and waiting for a worker to start execution.
4354
4598
  running: Sync is currently executing.
4599
+ canceling: Cancellation requested; in-flight work has not yet stopped.
4355
4600
  completed: Sync finished successfully.
4356
4601
  failed: Sync finished with a fatal error.
4357
4602
  canceled: Sync was canceled by a user or the system.
@@ -4388,7 +4633,7 @@ components:
4388
4633
  canceledBy:
4389
4634
  type: string
4390
4635
  readOnly: true
4391
- description: Who or what canceled this run. Only present when `status` is `canceled`.
4636
+ description: Who requested cancellation. Present once cancellation has been requested.
4392
4637
  examples:
4393
4638
  - user:tyler.lamparter@celigo.com
4394
4639
  runType:
@@ -4401,6 +4646,17 @@ components:
4401
4646
  x-enumDescriptions:
4402
4647
  normal: Incremental delta sync extracting only records modified since the last run.
4403
4648
  resync: Full resync re-extracting all records from the source system.
4649
+ datasetIds:
4650
+ type: array
4651
+ readOnly: true
4652
+ description: Datasets this run was scoped to. Absent when the run included every enabled dataset.
4653
+ items:
4654
+ type: string
4655
+ format: objectId
4656
+ x-celigo-refModel: datasets
4657
+ examples:
4658
+ - - 6a559b547885d8f93921c2ba
4659
+ - 6a559b547885d8f93921c2bb
4404
4660
  examples:
4405
4661
  - _id: 6821c01c39db7c2b9cdc0e30
4406
4662
  flowExecutionGroupId: 6821c01c39db7c2b9cdc0e29
@@ -4417,24 +4673,35 @@ components:
4417
4673
  numTablesSynced: 3
4418
4674
  triggeredBy: user:tyler.lamparter@celigo.com
4419
4675
  runType: normal
4676
+ - _id: 6821c01c39db7c2b9cdc0e40
4677
+ flowExecutionGroupId: 6821c01c39db7c2b9cdc0e39
4678
+ _integrationId: 67d7b6e69e4b1371e5d1e2a1
4679
+ _syncId: 682094fa7eb7fc3e7ab7a4a0
4680
+ createdAt: '2026-04-28T15:00:00.000Z'
4681
+ startedAt: '2026-04-28T15:00:01.000Z'
4682
+ status: running
4683
+ numErrors: 0
4684
+ numLoadedRecords: 0
4685
+ numExtractedRecords: 0
4686
+ numTablesSynced: 1
4687
+ triggeredBy: user:tyler.lamparter@celigo.com
4688
+ runType: resync
4689
+ datasetIds:
4690
+ - 6a559b547885d8f93921c2ba
4691
+ - 6a559b547885d8f93921c2bb
4420
4692
  SyncJobsResponse:
4421
4693
  type: object
4422
- description: |-
4423
- Paginated list of sync jobs for a given sync. Contains the array of job records and a total count.
4424
-
4425
- Note: although the response includes `totalCount`, the `limit` and `offset` query parameters
4426
- on the list endpoint are silently ignored by the server as of this writing. The response always
4427
- returns all jobs.
4694
+ description: One page of sync jobs for a given sync, plus the total number of jobs matching the query.
4428
4695
  properties:
4429
4696
  data:
4430
4697
  type: array
4431
- description: Array of sync job records.
4698
+ description: Sync job records for this page, newest first.
4432
4699
  items:
4433
4700
  $ref: '#/components/schemas/SyncJob'
4434
4701
  totalCount:
4435
4702
  type: integer
4436
4703
  readOnly: true
4437
- description: Total number of sync jobs for this sync (across all pages).
4704
+ description: Total number of sync jobs matching the query, including queued and running jobs pinned outside a date filter.
4438
4705
  examples:
4439
4706
  - 1
4440
4707
  examples: