> ## Documentation Index
> Fetch the complete documentation index at: https://docs.useparagon.com/llms.txt
> Use this file to discover all available pages before exploring further.

> Get the current status of a Sync

# Get Sync Status

Once you have a Sync enabled for a particular Connected User, you can start to poll its status.

You will receive fields for:

* `status` — This tells you the current state of Sync activity.
  * `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.
  * `DISABLED`: The Sync has been paused temporarily by the [Disable a Sync](/managed-sync/api/disable-sync) endpoint.
  * `ERRORED`: The Sync has been suspended due to an error. Check [Webhook Events](/managed-sync/webhooks) for additional error details.
* `summary` — Metrics on the sync progress and last seen record timestamps.


## OpenAPI

````yaml get /api/syncs/{syncId}
openapi: 3.0.0
info:
  title: Paragon Sync API
  description: API for managing Syncs and permissions for Connected Users
  version: 1.0.0
servers:
  - url: https://sync.useparagon.com
    description: Production server
security:
  - bearerAuth: []
paths:
  /api/syncs/{syncId}:
    get:
      summary: Get Sync Status
      description: Get the status of a Sync for a Connected User
      parameters:
        - name: syncId
          in: path
          required: true
          schema:
            type: string
          description: ID of the sync to get the status of
      responses:
        '200':
          description: Sync status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyncStatus'
        '401':
          description: Unauthorized
        '404':
          description: Sync not found
components:
  schemas:
    SyncStatus:
      type: object
      required:
        - status
        - summary
      properties:
        status:
          $ref: '#/components/schemas/StatusField'
        credentialId:
          type: string
          description: The ID of the credential used to authenticate this Sync
        summary:
          type: object
          required:
            - totalRecords
            - syncedRecordsCount
          description: Metrics on the sync progress and last seen record timestamps
          properties:
            totalRecords:
              type: integer
              description: Total number of records in the Sync
            syncedRecordsCount:
              type: integer
              description: Number of records that have been synced
            lastSyncedAt:
              type: string
              format: date-time
              description: Timestamp of when the Sync was last completed
            latestCursor:
              type: string
              description: >-
                A paging cursor pointing to records that will be created,
                updated, or deleted after the `lastSyncedAt` timestamp
        reason:
          type: string
          description: >-
            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.
    StatusField:
      type: string
      enum:
        - INITIALIZING
        - ACTIVE
        - IDLE
        - DISABLED
        - ERRORED
      description: "Current state of Sync activity.\nPossible values:\n- `INITIALIZING`: The Sync has just been created and is pending its first run.\n- `ACTIVE`: The Sync is actively fetching new data.\n- `IDLE`: The Sync has completed and is watching for updates to synced data.\n\t- Check `summary.lastSyncedAt` to see if the sync has successfully completed.\n- `DISABLED`: The Sync has been paused temporarily by the [Disable a Sync](/managed-sync/api/disable-sync) endpoint.\n- `ERRORED`: The Sync has been suspended due to an error. Check [Webhook Events](/managed-sync/webhooks) for additional error details."
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Paragon User Token. Add to the Authorization header of your requests.

````