For the complete documentation index, see llms.txt. This page is also available as Markdown.

Sync Jobs

Every sync run produces a read-only sync job that tracks extraction, loading, and error counts across the sync's tables. Use these endpoints to trigger runs, monitor job progress and per-table families, retrieve run errors, and cancel in-flight jobs.

Sync job schema

Trigger a sync run

post
/v1/syncs/{_syncId}/run

Queues an on-demand run of a sync and returns identifiers for the new sync job. The run is asynchronous: the response returns as soon as the job is queued. Use GET /v1/syncJobs/{_syncJobId} or GET /v1/syncs/{_syncId}/syncJobs to poll for terminal status.

A resync drops the delta checkpoint and reloads all data. Subset selection on a resync is always accepted; on a normal run it is rejected unless the account has partial normal sync enabled.

Preconditions enforced by the platform:

  • The sync must not be disabled (422 invalid_sync).

  • There must not be a job already queued or running for this sync (409 sync_job_already_queued).

The returned flowExecutionGroupId is a correlation key across jobs and errors. For multi-table syncs, a single run creates one parent job with per-table children visible via GET /v1/syncJobs/{_syncJobId}/family.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_syncIdstring · objectIdRequired

Sync id.

Body

Optional request body for triggering a sync run. When omitted or sent as {}, the sync runs every enabled dataset as an incremental delta.

runTypestring · enumOptional

Controls whether the run is incremental or a full resync.

Default: normalPossible values:
datasetIdsstring · objectId[] · min: 1Optional

Scopes this run to these datasets on the sync. Omit the field to run every enabled dataset; an empty array is rejected. Each id must belong to this sync and be enabled, and subset selection on a normal run is rejected unless the account has partial normal sync enabled.

Example: ["6a559b547885d8f93921c2ba","6a559b547885d8f93921c2bb"]
Responses
200

Sync run accepted and queued.

application/json

Response from POST /v1/syncs/{_syncId}/run. Contains identifiers for the newly queued sync run. Use syncId with GET /v1/syncs/{_syncId}/syncJobs or flowExecutionGroupId with GET /v1/syncJobs/{_syncJobId} to poll for run completion.

syncIdstring · objectIdRead-onlyOptional

The sync resource id that was triggered.

Example: 682094fa7eb7fc3e7ab7a4a0
flowExecutionGroupIdstringRead-onlyOptional

Correlation id for this execution group. Groups the parent sync job and all child table-level jobs spawned by this run.

Example: 6821c01c39db7c2b9cdc0e29
post/v1/syncs/{_syncId}/run
POST /v1/syncs/{_syncId}/run HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2

{}
{
  "syncId": "682094fa7eb7fc3e7ab7a4a0",
  "flowExecutionGroupId": "6821c01c39db7c2b9cdc0e29"
}

List sync jobs for a sync

get
/v1/syncs/{_syncId}/syncJobs

Returns parent sync jobs for the given sync, newest first. When a created-at filter is set, queued and running jobs are pinned to the first pages even if they fall outside the range; canceling jobs are not pinned. Follow Link header URLs as-is to page through pinned jobs and then the date-filtered remainder.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_syncIdstring · objectIdRequired

Sync id.

Query parameters
pageSizeinteger · min: 1 · max: 100Optional

Maximum number of jobs to return per page.

Default: 100Example: 25
afterstringOptional

Opaque pagination cursor for the next page. Take it from the after value in the Link response header's rel="next" URL rather than constructing it.

beforestringOptional

Opaque pagination cursor for the previous page. Take it from the before value in the Link response header's rel="prev" URL rather than constructing it.

createdAt_gtstringOptional

Only return jobs created after this time. Accepts ISO 8601 or epoch milliseconds.

Example: 2026-04-01T00:00:00.000Z
createdAt_ltestringOptional

Only return jobs created at or before this time. Accepts ISO 8601 or epoch milliseconds.

Example: 2026-04-30T23:59:59.000Z
listPhasestring · enumOptional

Pagination phase echoed in Link URLs when a date filter is present. Follow those URLs as-is rather than setting this yourself.

Possible values:
Responses
200

Page of sync jobs.

application/json
get/v1/syncs/{_syncId}/syncJobs
GET /v1/syncs/{_syncId}/syncJobs HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "data": [
    {
      "_id": "6821c01c39db7c2b9cdc0e30",
      "flowExecutionGroupId": "6821c01c39db7c2b9cdc0e29",
      "_integrationId": "67d7b6e69e4b1371e5d1e2a1",
      "_syncId": "682094fa7eb7fc3e7ab7a4a0",
      "createdAt": "2026-04-28T14:30:00.000Z",
      "startedAt": "2026-04-28T14:30:01.123Z",
      "endedAt": "2026-04-28T14:35:12.456Z",
      "purgeAt": "2026-07-28T14:35:12.456Z",
      "status": "completed",
      "numErrors": 0,
      "numLoadedRecords": 12450,
      "numExtractedRecords": 12450,
      "numTablesSynced": 3,
      "triggeredBy": "user:tyler.lamparter@celigo.com",
      "runType": "normal"
    },
    {
      "_id": "6821b00a39db7c2b9cdc0d10",
      "flowExecutionGroupId": "6821b00a39db7c2b9cdc0d09",
      "_integrationId": "67d7b6e69e4b1371e5d1e2a1",
      "_syncId": "682094fa7eb7fc3e7ab7a4a0",
      "createdAt": "2026-04-27T08:00:00.000Z",
      "startedAt": "2026-04-27T08:00:02.000Z",
      "endedAt": "2026-04-27T08:12:45.000Z",
      "purgeAt": "2026-07-27T08:12:45.000Z",
      "status": "completed",
      "numErrors": 2,
      "numLoadedRecords": 11980,
      "numExtractedRecords": 11982,
      "numTablesSynced": 3,
      "triggeredBy": "schedule",
      "runType": "resync",
      "datasetIds": [
        "6a559b547885d8f93921c2ba"
      ]
    }
  ],
  "totalCount": 2
}

Cancel all in-progress sync jobs

put
/v1/syncs/{_syncId}/syncJobs/cancel

Cancels every queued or running sync job for the given sync, including the underlying flow jobs for each run.

If every job is already terminal, the request is rejected. If parent jobs are canceled but no flow jobs remain, the response includes a confirmation message instead of an empty success. A job whose cancellation is already in progress is not cancelled again. To cancel a single specific job instead, use PUT /v1/syncJobs/{_syncJobId}/cancel.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_syncIdstring · objectIdRequired

Sync id.

Responses
200

Parent jobs canceled; no remaining flow jobs to cancel.

application/json
messagestringOptional

Confirmation that there were no remaining flow jobs to cancel.

Example: No more jobs to cancel
put/v1/syncs/{_syncId}/syncJobs/cancel
PUT /v1/syncs/{_syncId}/syncJobs/cancel HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "message": "No more jobs to cancel"
}

Get a sync job

get
/v1/syncJobs/{_syncJobId}

Returns a single sync job record. Sync jobs are read-only records created by the platform when a sync run is triggered. The record includes status, timing, record counts, and error counts. A gap between numExtractedRecords and numLoadedRecords indicates records that failed during loading -- see numErrors.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_syncJobIdstring · objectIdRequired

Sync job id.

Responses
200

The sync job record.

application/json

A sync job represents one execution of a sync. Sync jobs are read-only records created by the platform when a sync run is triggered (manually or on schedule). The job tracks extraction, loading, and error counts across all tables in the sync. numTablesSynced reflects only the tables that actively participated in this run -- for a delta run it may be lower than the total table count.

_idstring · objectIdRead-onlyRequired

Sync job id.

Example: 6821c01c39db7c2b9cdc0e30
flowExecutionGroupIdstringRead-onlyOptional

Correlation id grouping this job with its child table jobs.

Example: 6821c01c39db7c2b9cdc0e29
_integrationIdstring · objectIdRead-onlyRequired

Integration id this sync belongs to.

Example: 67d7b6e69e4b1371e5d1e2a1
_syncIdstring · objectIdRead-onlyRequired

Sync resource id.

Example: 682094fa7eb7fc3e7ab7a4a0
createdAtstring · date-timeRead-onlyRequired

When the sync job record was created (queued).

Example: 2026-04-28T14:30:00.000Z
startedAtstring · date-timeRead-onlyOptional

When execution actually began. Absent while the job is still queued.

Example: 2026-04-28T14:30:01.123Z
endedAtstring · date-timeRead-onlyOptional

When execution completed. Absent while the job is still running.

Example: 2026-04-28T14:35:12.456Z
purgeAtstring · date-timeRead-onlyOptional

When the job record will be purged from storage.

Example: 2026-07-28T14:35:12.456Z
statusstring · enumRead-onlyRequired

Current lifecycle state. Cancel is asynchronous: the job stays non-terminal until in-flight work stops.

Possible values:
numErrorsintegerRead-onlyOptional

Total number of errors produced across all tables in this run.

numLoadedRecordsintegerRead-onlyOptional

Total number of records loaded (written) to the data warehouse.

Example: 12450
numExtractedRecordsintegerRead-onlyOptional

Total number of records extracted from the source system.

Example: 12450
numTablesSyncedintegerRead-onlyOptional

Number of tables that were synced in this run.

Example: 3
triggeredBystringRead-onlyOptional

Who or what triggered this sync run (e.g. "user:email", "schedule").

Example: user:tyler.lamparter@celigo.com
canceledBystringRead-onlyOptional

Who requested cancellation. Present once cancellation has been requested.

Example: user:tyler.lamparter@celigo.com
runTypestring · enumRead-onlyRequired

Whether this was a normal (delta) or full resync run.

Possible values:
datasetIdsstring · objectId[]Read-onlyOptional

Datasets this run was scoped to. Absent when the run included every enabled dataset.

Example: ["6a559b547885d8f93921c2ba","6a559b547885d8f93921c2bb"]
get/v1/syncJobs/{_syncJobId}
GET /v1/syncJobs/{_syncJobId} HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "_id": "6821c01c39db7c2b9cdc0e30",
  "flowExecutionGroupId": "6821c01c39db7c2b9cdc0e29",
  "_integrationId": "67d7b6e69e4b1371e5d1e2a1",
  "_syncId": "682094fa7eb7fc3e7ab7a4a0",
  "createdAt": "2026-04-28T14:30:00.000Z",
  "startedAt": "2026-04-28T14:30:01.123Z",
  "endedAt": "2026-04-28T14:35:12.456Z",
  "purgeAt": "2026-07-28T14:35:12.456Z",
  "status": "completed",
  "numErrors": 0,
  "numLoadedRecords": 12450,
  "numExtractedRecords": 12450,
  "numTablesSynced": 3,
  "triggeredBy": "user:tyler.lamparter@celigo.com",
  "runType": "normal"
}

Get a sync job and its table-level children

get
/v1/syncJobs/{_syncJobId}/family

Returns the parent sync job with all of its per-table child jobs inlined under a tables array. Each table entry contains its own status, record counts, error counts, and timing.

A sync job family maps to one sync execution: the parent is the overall sync job and the children represent each table that was synced as part of that run. Parent-level counters are the authoritative totals; tables[] provides the per-table breakdown. tables may be empty if the job was canceled before any table work started.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_syncJobIdstring · objectIdRequired

Sync job id (parent job).

Responses
200

Sync job family (parent with per-table children).

application/json

A sync job represents one execution of a sync. Sync jobs are read-only records created by the platform when a sync run is triggered (manually or on schedule). The job tracks extraction, loading, and error counts across all tables in the sync. numTablesSynced reflects only the tables that actively participated in this run -- for a delta run it may be lower than the total table count.

_idstring · objectIdRead-onlyRequired

Sync job id.

Example: 6821c01c39db7c2b9cdc0e30
flowExecutionGroupIdstringRead-onlyOptional

Correlation id grouping this job with its child table jobs.

Example: 6821c01c39db7c2b9cdc0e29
_integrationIdstring · objectIdRead-onlyRequired

Integration id this sync belongs to.

Example: 67d7b6e69e4b1371e5d1e2a1
_syncIdstring · objectIdRead-onlyRequired

Sync resource id.

Example: 682094fa7eb7fc3e7ab7a4a0
createdAtstring · date-timeRead-onlyRequired

When the sync job record was created (queued).

Example: 2026-04-28T14:30:00.000Z
startedAtstring · date-timeRead-onlyOptional

When execution actually began. Absent while the job is still queued.

Example: 2026-04-28T14:30:01.123Z
endedAtstring · date-timeRead-onlyOptional

When execution completed. Absent while the job is still running.

Example: 2026-04-28T14:35:12.456Z
purgeAtstring · date-timeRead-onlyOptional

When the job record will be purged from storage.

Example: 2026-07-28T14:35:12.456Z
statusstring · enumRead-onlyRequired

Current lifecycle state. Cancel is asynchronous: the job stays non-terminal until in-flight work stops.

Possible values:
numErrorsintegerRead-onlyOptional

Total number of errors produced across all tables in this run.

numLoadedRecordsintegerRead-onlyOptional

Total number of records loaded (written) to the data warehouse.

Example: 12450
numExtractedRecordsintegerRead-onlyOptional

Total number of records extracted from the source system.

Example: 12450
numTablesSyncedintegerRead-onlyOptional

Number of tables that were synced in this run.

Example: 3
triggeredBystringRead-onlyOptional

Who or what triggered this sync run (e.g. "user:email", "schedule").

Example: user:tyler.lamparter@celigo.com
canceledBystringRead-onlyOptional

Who requested cancellation. Present once cancellation has been requested.

Example: user:tyler.lamparter@celigo.com
runTypestring · enumRead-onlyRequired

Whether this was a normal (delta) or full resync run.

Possible values:
datasetIdsstring · objectId[]Read-onlyOptional

Datasets this run was scoped to. Absent when the run included every enabled dataset.

Example: ["6a559b547885d8f93921c2ba","6a559b547885d8f93921c2bb"]
get/v1/syncJobs/{_syncJobId}/family
GET /v1/syncJobs/{_syncJobId}/family HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "_id": "6821c01c39db7c2b9cdc0e30",
  "flowExecutionGroupId": "6821c01c39db7c2b9cdc0e29",
  "_integrationId": "67d7b6e69e4b1371e5d1e2a1",
  "_syncId": "682094fa7eb7fc3e7ab7a4a0",
  "createdAt": "2026-04-28T14:30:00.000Z",
  "startedAt": "2026-04-28T14:30:01.123Z",
  "endedAt": "2026-04-28T14:35:12.456Z",
  "purgeAt": "2026-07-28T14:35:12.456Z",
  "status": "completed",
  "numErrors": 0,
  "numLoadedRecords": 12450,
  "numExtractedRecords": 12450,
  "numTablesSynced": 2,
  "triggeredBy": "schedule",
  "runType": "normal",
  "tables": [
    {
      "_id": "6821c01c39db7c2b9cdc0e31",
      "tableName": "contacts",
      "createdAt": "2026-04-28T14:30:01.200Z",
      "status": "completed",
      "numErrors": 0,
      "numLoadedRecords": 8200,
      "numExtractedRecords": 8200,
      "startedAt": "2026-04-28T14:30:01.300Z",
      "endedAt": "2026-04-28T14:33:45.100Z"
    },
    {
      "_id": "6821c01c39db7c2b9cdc0e32",
      "tableName": "accounts",
      "createdAt": "2026-04-28T14:30:01.250Z",
      "status": "completed",
      "numErrors": 0,
      "numLoadedRecords": 4250,
      "numExtractedRecords": 4250,
      "startedAt": "2026-04-28T14:30:01.350Z",
      "endedAt": "2026-04-28T14:35:12.400Z"
    }
  ]
}

List errors for a sync job

get
/v1/syncJobs/{_parentJobId}/errors

Returns errors produced during extraction or loading for the given parent sync job, scoped to individual tables.

Use _childJobId to filter to a single table. Without it, errors across all tables in the run are returned. To find a child job id, call GET /v1/syncJobs/{_syncJobId}/family and read tables[]._id.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_parentJobIdstring · objectIdRequired

Parent sync job id.

Query parameters
_childJobIdstring · objectIdOptional

Child (table-level) job id to filter errors to a single table. Obtain this from the tables[]._id field in the job family response.

Example: 6821c01c39db7c2b9cdc0e31
pageSizeinteger · min: 1 · max: 100Optional

Maximum number of errors to return per page.

Default: 100Example: 25
afterstringOptional

Opaque pagination cursor for the next page. Take it from the after value in the Link response header's rel="next" URL rather than constructing it.

beforestringOptional

Opaque pagination cursor for the previous page. Take it from the before value in the Link response header's rel="prev" URL rather than constructing it.

Responses
200

Array of sync error records.

application/json
get/v1/syncJobs/{_parentJobId}/errors
GET /v1/syncJobs/{_parentJobId}/errors HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "scope": "extract",
    "source": "salesforce",
    "code": "INVALID_FIELD",
    "message": "No such column 'Custom_Field__c' on entity 'Account'.",
    "_datasetId": "6821c01c39db7c2b9cdc0e35",
    "_syncId": "682094fa7eb7fc3e7ab7a4a0",
    "_parentSyncJobId": "6821c01c39db7c2b9cdc0e30",
    "_childSyncJobId": "6821c01c39db7c2b9cdc0e31",
    "flowExecutionGroupId": "6821c01c39db7c2b9cdc0e29",
    "stage": "extraction",
    "datasetName": "Salesforce Accounts",
    "tableName": "accounts",
    "occurredAt": "2026-04-28T14:31:22.789Z"
  },
  {
    "scope": "load",
    "source": "snowflake",
    "code": "DUPLICATE_KEY",
    "message": "Duplicate key value violates unique constraint on 'contacts.email'.",
    "_datasetId": "6821c01c39db7c2b9cdc0e36",
    "_syncId": "682094fa7eb7fc3e7ab7a4a0",
    "_parentSyncJobId": "6821c01c39db7c2b9cdc0e30",
    "_childSyncJobId": "6821c01c39db7c2b9cdc0e32",
    "flowExecutionGroupId": "6821c01c39db7c2b9cdc0e29",
    "stage": "loading",
    "datasetName": "Salesforce Contacts",
    "tableName": "contacts",
    "occurredAt": "2026-04-28T14:32:05.123Z"
  }
]

Cancel a single sync job

put
/v1/syncJobs/{_syncJobId}/cancel

Cancels a specific sync job by id, including its underlying flow jobs.

Only queued or running jobs can be canceled. Terminal jobs cannot. A job whose cancellation is already in progress is not cancelled again. If the parent is canceled but no flow jobs remain, the response includes a confirmation message instead of an empty success. To cancel all in-progress jobs for a sync at once, use PUT /v1/syncs/{_syncId}/syncJobs/cancel.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_syncJobIdstring · objectIdRequired

Sync job id to cancel.

Responses
200

Parent job canceled; no remaining flow jobs to cancel.

application/json
messagestringOptional

Confirmation that there were no remaining flow jobs to cancel.

Example: No more jobs to cancel
put/v1/syncJobs/{_syncJobId}/cancel
PUT /v1/syncJobs/{_syncJobId}/cancel HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "message": "No more jobs to cancel"
}

Get the latest sync job for each sync in an integration

get
/v1/integrations/{_integrationId}/syncJobs/latest

Returns the most recent sync job for each sync resource belonging to the given integration. The response is a bare JSON array with one SyncJob entry per sync.

Returns an empty response when no sync jobs exist for any sync in the integration. Each entry in the array represents the latest run of a different sync; use _syncId on each returned job to correlate back to the sync resource. The response is a bare array, not wrapped in a data envelope.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
_integrationIdstring · objectIdRequired

Integration id.

Responses
200

Array of latest sync jobs (one per sync in the integration).

application/json

A sync job represents one execution of a sync. Sync jobs are read-only records created by the platform when a sync run is triggered (manually or on schedule). The job tracks extraction, loading, and error counts across all tables in the sync. numTablesSynced reflects only the tables that actively participated in this run -- for a delta run it may be lower than the total table count.

_idstring · objectIdRead-onlyRequired

Sync job id.

Example: 6821c01c39db7c2b9cdc0e30
flowExecutionGroupIdstringRead-onlyOptional

Correlation id grouping this job with its child table jobs.

Example: 6821c01c39db7c2b9cdc0e29
_integrationIdstring · objectIdRead-onlyRequired

Integration id this sync belongs to.

Example: 67d7b6e69e4b1371e5d1e2a1
_syncIdstring · objectIdRead-onlyRequired

Sync resource id.

Example: 682094fa7eb7fc3e7ab7a4a0
createdAtstring · date-timeRead-onlyRequired

When the sync job record was created (queued).

Example: 2026-04-28T14:30:00.000Z
startedAtstring · date-timeRead-onlyOptional

When execution actually began. Absent while the job is still queued.

Example: 2026-04-28T14:30:01.123Z
endedAtstring · date-timeRead-onlyOptional

When execution completed. Absent while the job is still running.

Example: 2026-04-28T14:35:12.456Z
purgeAtstring · date-timeRead-onlyOptional

When the job record will be purged from storage.

Example: 2026-07-28T14:35:12.456Z
statusstring · enumRead-onlyRequired

Current lifecycle state. Cancel is asynchronous: the job stays non-terminal until in-flight work stops.

Possible values:
numErrorsintegerRead-onlyOptional

Total number of errors produced across all tables in this run.

numLoadedRecordsintegerRead-onlyOptional

Total number of records loaded (written) to the data warehouse.

Example: 12450
numExtractedRecordsintegerRead-onlyOptional

Total number of records extracted from the source system.

Example: 12450
numTablesSyncedintegerRead-onlyOptional

Number of tables that were synced in this run.

Example: 3
triggeredBystringRead-onlyOptional

Who or what triggered this sync run (e.g. "user:email", "schedule").

Example: user:tyler.lamparter@celigo.com
canceledBystringRead-onlyOptional

Who requested cancellation. Present once cancellation has been requested.

Example: user:tyler.lamparter@celigo.com
runTypestring · enumRead-onlyRequired

Whether this was a normal (delta) or full resync run.

Possible values:
datasetIdsstring · objectId[]Read-onlyOptional

Datasets this run was scoped to. Absent when the run included every enabled dataset.

Example: ["6a559b547885d8f93921c2ba","6a559b547885d8f93921c2bb"]
get/v1/integrations/{_integrationId}/syncJobs/latest
GET /v1/integrations/{_integrationId}/syncJobs/latest HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "_id": "6821c01c39db7c2b9cdc0e30",
    "flowExecutionGroupId": "6821c01c39db7c2b9cdc0e29",
    "_integrationId": "67d7b6e69e4b1371e5d1e2a1",
    "_syncId": "682094fa7eb7fc3e7ab7a4a0",
    "createdAt": "2026-04-28T14:30:00.000Z",
    "startedAt": "2026-04-28T14:30:01.123Z",
    "endedAt": "2026-04-28T14:35:12.456Z",
    "purgeAt": "2026-07-28T14:35:12.456Z",
    "status": "completed",
    "numErrors": 0,
    "numLoadedRecords": 12450,
    "numExtractedRecords": 12450,
    "numTablesSynced": 3,
    "triggeredBy": "schedule",
    "runType": "normal"
  },
  {
    "_id": "6821d22e39db7c2b9cdc1050",
    "flowExecutionGroupId": "6821d22e39db7c2b9cdc1049",
    "_integrationId": "67d7b6e69e4b1371e5d1e2a1",
    "_syncId": "682094fb7eb7fc3e7ab7a4b1",
    "createdAt": "2026-04-29T02:00:00.000Z",
    "startedAt": "2026-04-29T02:00:01.000Z",
    "endedAt": "2026-04-29T02:08:33.000Z",
    "purgeAt": "2026-07-29T02:08:33.000Z",
    "status": "completed",
    "numErrors": 1,
    "numLoadedRecords": 5600,
    "numExtractedRecords": 5601,
    "numTablesSynced": 2,
    "triggeredBy": "schedule",
    "runType": "normal"
  }
]

Last updated

Was this helpful?