List versions
listVersions
GET /api/v1/shares/{share_id}/versions
Scope:
foldr.readRate cost: 2The versions of a file its storage keeps, newest first: earlier saves (Foldr’s own hosted storage, S3 and Azure that keep versions, SharePoint) or an SMB server’s shadow copies (Previous Versions)
One page holds them all. Storage that keeps none answers an empty list. Someone who may only read the approved version of a published file is shown that version alone.
Request
Section titled “Request”curl "$FOLDR/api/v1/shares/$SHARE_ID/versions?path=%2FReports%2Fq3.pdf" \ -H "Authorization: Bearer $TOKEN"$FOLDR is your site’s address (for example https://files.example.com) and $TOKEN is an access token. See Getting access.
Parameters
Section titled “Parameters”| Name | In | Type | Required | Description |
|---|---|---|---|---|
share_id | path | string | Yes | The share’s id. |
path | query | string | Yes | The path of the file. |
Responses
Section titled “Responses”| Status | Meaning | Body |
|---|---|---|
| 200 | One page of Versions. | application/json: VersionPage |
200 response
Section titled “200 response”| Field | Type | Description |
|---|---|---|
items | array of Version | Required. This page’s entries. |
next_cursor | string or null | Required. The cursor for the next page, or null when this is the last. |
truncated | boolean | Required. True when the collection holds more than one listing can read (a folder of more than 25,000 entries): the pages give the first 25,000 the storage lists, and every page of it says true, so a null next_cursor is not the whole folder. False otherwise. |
Example:
{ "items": [ { "id": "string", "modified": "2026-11-04T09:30:00Z", "size": 1, "current": false } ], "next_cursor": "string", "truncated": false}Errors
Section titled “Errors”Every error is an application/problem+json document (ProblemDetails); branch on its type or code. See Errors.
| Status | Problem types | When |
|---|---|---|
| 400 | invalid-pathinvalid-request | One of: Invalid path (invalid-path); Invalid request (invalid-request). |
| 401 | invalid-token | Invalid token (invalid-token). |
| 403 | insufficient-scope | Insufficient scope (insufficient-scope). |
| 404 | not-found | Not found (not-found). |
| 409 | ambiguous-pathnot-a-filestorage-account-not-connected | One of: Ambiguous path (ambiguous-path); Not a file (not-a-file); Storage account not connected (storage-account-not-connected). |
| 429 | rate-limited | Too many requests (rate-limited). |
| 500 | internal-error | Internal error (internal-error). |
| 503 | share-unavailableshare-unreachablewrite-failed | One of: Share unavailable (share-unavailable); Share unreachable (share-unreachable); Write failed (write-failed). |