> ## 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.

# Pull Synced Records

> Get records from a Sync

Each page that you consume in pulling syncing records will return a stable cursor representing the last record of the page in `paging.cursor`.

When you receive data as an empty array or `paging.remainingRecords` = 0, your application is caught up to the latest data synced to Paragon.

You can persist the last available `paging.cursor` value to sync available pages when you receive `recordCreated` webhooks in the future.


## OpenAPI

````yaml get /api/syncs/{syncId}/records
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}/records:
    get:
      summary: Pull Synced Records
      description: Get records from a Sync
      parameters:
        - name: syncId
          in: path
          required: true
          schema:
            type: string
          description: ID of the sync
        - name: pageSize
          in: query
          required: false
          schema:
            type: integer
          description: Number of records to return per page
          example: 100
        - name: cursor
          in: query
          required: false
          schema:
            type: string
          description: Cursor for pagination
          example: Y3Vyc29yOjEyMQ==
      responses:
        '200':
          description: Synced records
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyncedRecordsResponse'
        '401':
          description: Unauthorized
        '404':
          description: Sync not found
components:
  schemas:
    SyncedRecordsResponse:
      type: object
      required:
        - data
        - paging
      properties:
        data:
          type: array
          items:
            type: object
          description: >-
            Array of synced records. See schemas in [**Synced
            Objects**](https://docs.useparagon.com/managed-sync/synced-objects)
            for the available fields.
          example: '[/* See schema in Synced Objects */]'
        paging:
          type: object
          required:
            - totalRecords
            - totalActiveRecords
            - remainingRecords
            - cursor
            - lastSeen
          properties:
            totalRecords:
              type: integer
              description: Total number of records in this Sync
            totalActiveRecords:
              type: integer
              description: Total number of non-deleted records tracked by this Sync
            remainingRecords:
              type: integer
              description: >-
                Number of records remaining to be synced after the current
                cursor
            cursor:
              type: string
              description: Cursor for pagination
            lastSeen:
              type: integer
              description: >-
                UNIX timestamp (in milliseconds) of when the last record was
                synced
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Paragon User Token. Add to the Authorization header of your requests.

````