Skip to main content
GET
/
api
/
syncs
/
{syncId}
Get Sync Status
curl --request GET \
  --url https://sync.useparagon.com/api/syncs/{syncId} \
  --header 'Authorization: Bearer <token>'
{
  "summary": {
    "totalRecords": 123,
    "syncedRecordsCount": 123,
    "lastSyncedAt": "2023-11-07T05:31:56Z",
    "latestCursor": "<string>"
  },
  "credentialId": "<string>",
  "incrementalAccumulatorFrequency": "1m",
  "rateLimitBackoffMs": 30000,
  "reason": "Credential ID [id] is no longer valid or has been deleted."
}
Once you have a Sync enabled for a particular Connected User, you can start to poll its status.

Authorizations

Authorization
string
header
required

Paragon User Token. Add to the Authorization header of your requests.

Path Parameters

syncId
string
required

ID of the sync to get the status of

Response

Sync status

status
enum<string>
required

Current state of Sync activity. Possible values:

  • INITIALIZING: The Sync has just been created and is pending its first run.
  • ACTIVE: The Sync is actively fetching new data.
  • IDLE: The Sync has completed and is watching for updates to synced data.
    • Check summary.lastSyncedAt to see if the sync has successfully completed.
  • RATE_LIMITED: The Sync is backing off because the third-party API's rate limit was reached. Check rateLimitBackoffMs for the back-off duration. The Sync resumes automatically once the back-off period passes.
  • DISABLED: The Sync has been paused temporarily by the Disable a Sync endpoint.
  • ERRORED: The Sync has been suspended due to an error. Check Webhook Events for additional error details.
Available options:
INITIALIZING,
ACTIVE,
IDLE,
RATE_LIMITED,
DISABLED,
ERRORED
summary
object
required

Metrics on the sync progress and last seen record timestamps

credentialId
string

The ID of the credential used to authenticate this Sync

incrementalAccumulatorFrequency
enum<string>

The configured incremental sync frequency for this Sync. Only present when explicitly set on the Sync.

Available options:
1m,
5m,
10m,
30m,
1h,
3h,
6h,
24h
Example:

"1m"

rateLimitBackoffMs
integer

If the sync status is RATE_LIMITED, the duration (in milliseconds) that the Sync is backing off before it resumes fetching data, in response to the third-party API's rate limit.

The Sync resumes automatically once this back-off period has passed. We recommend waiting at least this long before polling the Sync status again.

Example:

30000

reason
string

If the sync status is ERRORED, this field will be populated with a message explaining why the sync failed.

Example:

"Credential ID [id] is no longer valid or has been deleted."