Returns one version - 404 for any version GET /v2/versions would not list: a story's primary version, a version of a story that is not Live (draft, archived or deleted), or one in a folder the API key's creator cannot open. Returns everything a list row carries, plus data - the version's current variable values, in the same shape POST /v2/versions takes. To change a value without changing the link, send just the fields you want to change to POST /v2/versions/{versionId}; it merges them into these. The link password, if one is set, is never returned.
GET
/v2/versions/{versionId}
curl \
--request GET 'https://api.storydoc.com/v2/versions/61b1f40a3a86b7a96d0d8ccc' \
--header "Authorization: Bearer $ACCESS_TOKEN"
Response examples (200)
{
"id": "61b1f40a3a86b7a96d0d8ccc",
"title": "ACME - Proposal",
"status": "Live",
"storyId": "61b1e50223b713000a41ca74",
"storyTitle": "Proposal template",
"folder": {
"id": "string",
"name": "Enterprise",
"path": [
"Sales",
"Enterprise"
],
"sharedWithEveryone": true,
"members": [
{
"name": "Dana Lee",
"email": "dana@company.com",
"role": "Owner"
}
]
},
"sender": {
"name": "Dana Lee",
"email": "dana@company.com"
},
"url": "https://example.com",
"shortUrl": "https://view.storydoc.com/4GdDGt",
"editorUrl": "https://example.com",
"versionUrl": "https://example.com",
"isPublic": true,
"expireAt": "2026-05-04T09:42:00Z",
"hasAcceptButton": true,
"acceptedAt": "2026-05-04T09:42:00Z",
"source": "string",
"createdAt": "2026-05-04T09:42:00Z",
"updatedAt": "2026-05-04T09:42:00Z",
"data": {
"title": "ACME - Proposal",
"company": "ACME Corporation",
"price": "15,000"
}
}
Response examples (403)
{
"error": "Access denied"
}
Response examples (404)
{
"error": "Version not found"
}
Response examples (429)
{
"error": "Too many requests"
}
Response examples (500)
{
"error": "Error occured",
"errorId": "550e8400-e29b-41d4-a716-446655440000"
}