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

# Streamed List Objects (All Syncs)

> List all accessible objects across syncs for a user as a streamed response.

Use this endpoint to enumerate every object a principal user can access across all syncs associated with a Connected User.

This is useful when your app connects a user to multiple File Storage syncs, and you want a single list of permitted document IDs to feed into a search or vector index filter.

For queries against a single Sync, use the sync-scoped [Streamed List Objects](/managed-sync/api/streamed-list-objects) endpoint instead.

## Response format

The response is sent as `application/x-ndjson` with `Transfer-Encoding: chunked`. Each line of the response body is a JSON object tagged with the source `syncInstanceId` and `integration`.

Success lines include an `object` field, whose value is the UUID of a Synced Object the user has access to with the specified role:

```text theme={null}
{"syncInstanceId":"3f8a1c2e-9b4d-4e71-a6f2-8d0c5b1e7a93","integration":"googledrive","object":"a657df3b-17e2-5989-bc5f-13ddb7fdab41"}
{"syncInstanceId":"3f8a1c2e-9b4d-4e71-a6f2-8d0c5b1e7a93","integration":"googledrive","object":"b842ec1c-2f3a-4a91-9f8d-6cf2b73a1d04"}
{"syncInstanceId":"91cd4f0a-2e58-4b3b-8a1c-7d9e2b0c41ef","integration":"sharepoint","object":"c91f0a2d-4e58-4b3b-8a1c-7d9e2b0c41ef"}
```

If a specific sync fails to enumerate (for example, its authorization store is temporarily unavailable), a single line with an `error` field is emitted for that sync and the stream continues with the remaining syncs:

```text theme={null}
{"syncInstanceId":"91cd4f0a-2e58-4b3b-8a1c-7d9e2b0c41ef","integration":"sharepoint","error":"Error streaming list-objects"}
```

Parse the response one line at a time. Each line is independently valid JSON; the response body as a whole is not.

## Notes

* Only syncs that belong to the authenticated Connected User and project are queried. Syncs without an authorization store (for example, integrations that do not support Permissions API) are skipped silently.
* Per-sync errors do not abort the stream — inspect each line for an `error` field so that you can retry or surface individual failures without discarding results from successful syncs.


## OpenAPI

````yaml post /api/permissions/streamed-list-objects
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/permissions/streamed-list-objects:
    post:
      summary: Streamed List Objects (All Syncs)
      description: >-
        List all accessible objects across syncs for a user as a streamed
        response.
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListObjectsRequest'
      responses:
        '200':
          description: >-
            A newline-delimited JSON stream. Each line is a JSON object tagged
            with `syncInstanceId` and `integration`. Success lines include an
            `object` field with the UUID of a Synced Object the user has access
            to. If a specific sync fails to enumerate, a line with an `error`
            field is emitted for that sync instead, and the stream continues
            with the remaining syncs.
          content:
            application/x-ndjson:
              schema:
                type: string
        '401':
          description: Unauthorized
components:
  schemas:
    ListObjectsRequest:
      type: object
      properties:
        objectType:
          type: string
          description: The type of object to list.
          enum:
            - file
            - folder
          example: file
        user:
          type: string
          description: The email of the user to list accessible objects for.
          example: email@example.com
        role:
          type: string
          description: The role to use for identifying accessible objects.
          enum:
            - can_read
            - can_write
            - is_owner
          example: can_read
      required:
        - user
        - objectType
        - role
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Paragon User Token. Add to the Authorization header of your requests.

````