History

List file versions

Committed main-lineage versions of a file, newest first, each with a short-lived presigned download URL. The response is keyset-paginated as `data` + `nextCursor` — pass the cursor back as `?cursor=` to page, and `?limit=` (max 200) to size the page. Versions that only exist on a branch are not returned here.

GET/api/v1/projects/{projectId}/files/{fileId}/versions

Response

200 OK
json
{
  "data": [
    {
      "id": "5e1c8a90-2b7d-4f3e-8c11-9a0b4d6e2f38",
      "version": 12,
      "size": 524288000,
      "sha256": "a1b2c3...",
      "uploaderId": "3f1a0c52-9c1e-4f0a-9a1b-7d2e5c8b4a10",
      "uploaderName": "Sarah Chen",
      "commitId": "c1d2e3f4-5a6b-7c8d-9e0f-1a2b3c4d5e6f",
      "downloadUrl": "https://s3.eu-central-003.backblazeb2.com/...",
      "createdAt": "2026-04-16T14:30:00.000Z"
    }
  ],
  "nextCursor": "12"
}

Examples

curlbash
curl -X GET "https://usourcecontrol.com/api/v1/projects/7c9e6679-7425-40de-944b-e07fc1f90ae7/files/f47ac10b-58cc-4372-a567-0e02b2c3d479/versions?limit=50" \
  -H "Authorization: Bearer usc_your_project_key"

Try it

Try it
GET/api/v1/projects/{projectId}/files/{fileId}/versions

Kept in this tab only, sent straight to the API, and never to our servers. Create one in your project’s settings.

Was this helpful?

Back to top