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

# List Device Sync Status

> Retrieve sync status details for devices. Currently supports fetching app sync statuses (installed vs. target version) only.




## OpenAPI

````yaml Get /v1/devices/sync-status
openapi: 3.1.0
info:
  title: ManageXR API
  description: API documentation for ManageXR
  version: 1.0.0
servers:
  - url: https://managexrapi.com
    description: ManageXR API Server
security:
  - basicAuth: []
paths:
  /v1/devices/sync-status:
    get:
      summary: List device sync status
      description: >
        Retrieve sync status details for devices. Currently supports fetching
        app sync statuses (installed vs. target version) only.
      parameters:
        - name: organizationId
          in: query
          required: false
          schema:
            type: string
          description: >
            Unique identifier of the organization. Defaults to all organizations
            the API key has access to. 

             **Multi-org API key limitation:** If your multi-org api key gives you access to more than 30 organizatinos, you must include a specific `organizationId` in this request.
        - name: include
          in: query
          required: true
          schema:
            type: string
            enum:
              - apps
          description: >
            Comma-separated list of content categories to include in the
            response. Currently only `apps` is supported. Required.
        - name: cursor
          in: query
          required: false
          schema:
            type: string
          description: >
            Opaque pagination cursor returned in `nextCursor` by a prior
            response. Treat as opaque. Pass the nextCursor from the previous
            response back as cursor to fetch the next page. End of stream is
            indicated by nextCursor: null — do not infer end of stream from a
            short page.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 400
            maximum: 400
            minimum: 1
          description: >
            Maximum number of devices to return per page. Default and maximum
            are both 400.
      responses:
        '200':
          description: A page of device sync statuses
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/V1DeviceSyncStatus'
                  nextCursor:
                    type: string
                    nullable: true
                    description: >-
                      Opaque cursor for the next page, or `null` if this is the
                      last page.
        '400':
          description: >-
            Bad request — missing/invalid `include`, malformed `cursor`, invalid
            `limit`, or more than 30 organizations in scope.
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    example: 400
                  message:
                    type: string
                    example: include is required
                  error:
                    type: string
                    example: ManageXR Error
              example:
                statusCode: 400
                message: include is required
                error: ManageXR Error
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    example: 403
                  message:
                    type: string
                    example: Forbidden
                  error:
                    type: string
                    example: ManageXR Error
              example:
                statusCode: 403
                message: Forbidden
                error: ManageXR Error
components:
  schemas:
    V1DeviceSyncStatus:
      type: object
      description: >
        Per-content-category sync status for a single device. Optional content
        fields (e.g. `appSyncStatuses`) are populated based on the `include`
        query parameter — fields for unrequested categories are omitted.


        For a device's overall up-to-date status, use the top-level `outOfDate`
        boolean on `V1Device` (returned by `GET /v1/devices` and `GET
        /v1/devices/{id}`).
      required:
        - deviceId
        - serial
      properties:
        deviceId:
          type: string
          description: The device ID (serial number).
          example: 340YC10G8D14ML
        serial:
          type: string
          description: Device serial number.
          example: 340YC10G8D14ML
        appSyncStatuses:
          type: array
          description: >-
            Per-app sync entries. Present when `include=apps` was passed; absent
            otherwise.
          items:
            $ref: '#/components/schemas/V1DeviceSyncStatusAppEntry'
    V1DeviceSyncStatusAppEntry:
      type: object
      description: Sync status for a single app on a device.
      required:
        - packageName
        - installed
        - outOfDate
        - hasError
      properties:
        packageName:
          type: string
          description: Android package name of the app.
          example: com.oculus.panelapp.kiosk
        installed:
          type: boolean
          description: >-
            Whether the app is currently installed on the device. Reflects
            managed apps only — sideloaded apps are not represented.
          example: true
        outOfDate:
          type: boolean
          description: >-
            Whether the installed version differs from the configuration's
            target version.
          example: false
        hasError:
          type: boolean
          description: Whether the device reported an error for this app on its last sync.
          example: false
        currentVersion:
          $ref: '#/components/schemas/V1DeviceSyncStatusAppVersion'
        targetVersion:
          $ref: '#/components/schemas/V1DeviceSyncStatusAppVersion'
    V1DeviceSyncStatusAppVersion:
      type: object
      description: >-
        Version identifier for an installed or target app. All fields are
        optional because not every app category reports version metadata (e.g.
        some external/store apps).
      properties:
        versionCode:
          type: number
          description: Numeric version code.
          example: 700402468
        versionName:
          type: string
          description: Human-readable version name.
          example: 76.0.0.0.410
        versionLabel:
          type: string
          description: Optional release-channel label associated with the version.
          example: stable
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: >
        API key based authentication where <encoded-value> is the Base64
        encoding of `API_KEY_ID`:`API_KEY_SECRET`

        - **Username**: The API Key ID.

        - **Password**: The API Key Secret.

````