Skip to main content
List endpoints return a consistent page object inside the standard success envelope.

Shape

Note the nesting: the envelope has data, and the page object also has data. Be deliberate when decoding.

Query parameters

Defaults and accepted ranges are enforced by the backend. If you omit them, do not assume a specific page size; read limit from the response.

Folder content is special

GET /folders/{folderId}/content returns a different object:
Key differences:
  • items are under content, not data,
  • subfolders are returned before files within the ordered result,
  • totalItems equals totalFiles + totalFolders.

Subfolders are not paginated

GET /folders/{folderId}/subfolders returns the full list plus a parent descriptor:
For deep trees, this can be a large response. Prefer folder content when you need pagination.

File lists

GET /files/findAll/{bucketId} returns the standard page object for one bucket. Deleted files have their own bucket-scoped listing: GET /files/deleted-files/{bucketId}.

Paging strategy

  1. Start at page=1 and read totalPages.
  2. Prefer small pages for interactive UI, larger pages for batch jobs.
  3. Do not rely on a stable order unless you pass orderBy or sortBy. Items can move between pages if the underlying set changes while you page.
  4. For full exports, take a snapshot by filtering on a time range where possible, rather than paging a live-changing set.
  5. Stop when page >= totalPages, not when a page is empty.

Consistency caveat

Pagination over a live set is not a transaction. If items are created or deleted during a scan:
  • you may see an item twice,
  • you may miss an item,
  • total may change between pages.
Make your reconciliation idempotent. Key on fileId and folderId, not on position.

Conventions

Envelopes and identifiers.

Files overview

File listing operations.

Folders overview

Folder browsing operations.

Errors

Failure handling.