Skip to content

Files

Get file version

Get one version of a file. A version removed by retention, or one that never existed, returns `404`. OAuth scope: `api:read`.

GET/api/v2/files/{fileId}/versions/{version}

Get one version of a file. A version removed by retention, or one that never existed, returns 404.

OAuth scope: api:read.

Authentication

Send a personal or workspace API key in X-API-Key. See key types and access; operations that reject workspace keys say so in their description.

Send X-API-Key in the request header.

Alternatively

Send a Sim OAuth access token in Authorization: Bearer. See OAuth authentication and scopes.

Authorization: Bearer YOUR_ACCESS_TOKEN

Required scopes: api:read

OAuth flows
json
{
  "authorizationCode": {
    "authorizationUrl": "https://www.sim.ai/api/auth/oauth2/authorize",
    "tokenUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "refreshUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "scopes": {
      "api:read": "Read your workspaces, workflows, files, tables, and logs",
      "api:write": "Read, create, change, run, and delete resources in your workspaces",
      "offline_access": "Stay signed in without asking again"
    }
  }
}

OAuth scope: api:read.

Path parameters

fileIdstringRequired

File identifier.

minLength
1
maxLength
128
pattern
^[A-Za-z0-9_-]+$
versionintegerRequired

Version number.

maximum
2147483647
exclusiveMinimum
0

Query parameters

workspaceIdstringRequired

Workspace that owns the file.

minLength
1
maxLength
128

Responses

200

The file version.

object

A single file version.

1 field
dataobjectRequired

Response data.

11 fields
fileIdstringRequired

File this version belongs to.

versionintegerRequired

Version number, increasing by one per recorded version. Numbers are never reused, so a gap means an older version was removed by retention or deleted.

minimum
1
maximum
2147483647
isCurrentbooleanRequired

Whether this version holds the current content of the file.

sizeintegerRequired

Size in bytes of the stored content of this version.

minimum
0
maximum
9007199254740991
contentTypestringRequired

MIME type of the stored content of this version.

sourcestringRequired

What wrote this version: upload (the original upload), user (a save in the Sim editor), api (an API, CLI, or MCP write), copilot (Sim, the agent), workflow (a workflow run), collab (collaborative editing), revert (a revert to an earlier version), or unknown (content written before version history existed, or by a writer with no source of its own).

enum
["upload","user","api","copilot","workflow","collab","revert","unknown"]
authorsarrayRequired

Users who wrote this version, in order of first contribution. Empty for actorless writers such as workspace API keys. A collaborative version lists every editor in its window.

Schema details
Array itemobject
2 fields
idstringRequired

User identifier.

emailvalueRequired

Current email address of the user, or null when the account no longer exists.

Schema details

Any of

Option 1string
format
email
pattern
^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$
Option 2null

Additional properties are not allowed.

restoredFromVersionvalueRequired

For a revert version, the version whose content it restored; otherwise null.

Schema details

Any of

Option 1integer
minimum
1
maximum
2147483647
Option 2null
createdAtstringRequired

ISO 8601 timestamp when this content became current.

format
date-time
updatedAtstringRequired

ISO 8601 timestamp of the last write folded into this version. Equals createdAt unless edits were coalesced into it.

format
date-time
supersededAtvalueRequired

ISO 8601 timestamp when a newer version replaced this one, or null for the current version. Retention ages versions from this time.

format
date-time
Schema details

Any of

Option 1string
Option 2null

Additional properties are not allowed.

Additional properties are not allowed.

Response example 1

json
{
  "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
  }
}

Response headers

X-RateLimit-Limitinteger

Maximum requests allowed in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Remaininginteger

Requests remaining in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Resetstring

ISO 8601 timestamp when the current rate-limit window resets.

format
date-time
pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Was this helpful?
Suggest an edit