List the versions of a file, newest first by default. Each write that changes the bytes records one; identical rewrites do not. Collaborative edits, and repeated workflow writes by one author, fold into a version under ten minutes old and written in the last five. Renames and moves are not versions. Retention removes older versions by age and plan but keeps the newest ten, so numbers can have gaps.
OAuth scope: api:read.
/api/v2/files/{fileId}/versionsYour Sim API key, personal or workspace-scoped. Generate one under Settings, then API Keys. Operations that reject workspace keys say so in their own description.
In: header
Path Parameters
File identifier.
^[A-Za-z0-9_-]+$1 <= length <= 128Query Parameters
Workspace that owns the file.
1 <= length <= 128Field used to sort the result.
"version""version"Sort direction.
"desc""asc" | "desc"Maximum versions to return per page. Must be a whole number from 1 to 100. Defaults to 50.
501 <= value <= 100Opaque cursor from the previous page. Send it back with the same sort and filters; only limit may change. Change anything else and pagination must restart without a cursor.
1 <= lengthResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://www.sim.ai/api/v2/files/string/versions?workspaceId=string" \ -H "X-API-Key: YOUR_API_KEY"{
"data": [
{
"fileId": "wf_V1StGXR8z5jdHi6BmyT91",
"version": 3,
"isCurrent": true,
"size": 1024,
"contentType": "text/csv",
"source": "api",
"authors": [
{
"id": "usr_4kJ9mN2pQ7rS",
"email": "jane@example.com"
}
],
"restoredFromVersion": null,
"createdAt": "2026-01-15T10:30:00Z",
"updatedAt": "2026-01-15T10:30:00Z",
"supersededAt": null
}
],
"nextCursor": null
}{
"error": {
"code": "BAD_REQUEST",
"message": "Invalid request"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication required"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Insufficient workspace permissions",
"details": {
"code": "INSUFFICIENT_WORKSPACE_ROLE"
}
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Not found"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "API rate limit exceeded",
"details": {
"retryAfter": "2026-01-01T00:00:30.000Z"
}
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error"
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "Service temporarily unavailable"
}
}