Get a version

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://docs.storydoc.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "Storydoc API MCP server": {
    "url": "https://docs.storydoc.com/mcp"
  }
}

Close
GET /v2/versions/{versionId}

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.

Path parameters

  • versionId string Required

    The ID of the version

Responses

  • 200 application/json

    The version

    Hide response attributes Show response attributes object
    • id string

      Version ID

    • title string | null

      Version title

    • status string

      Accepted: the reader accepted it. Draft: unpublished, the link is off. Expired: past its expiry date. Live: otherwise.

      Values are Live, Expired, Draft, or Accepted.

    • storyId string

      The story (template) the version was created from

    • storyTitle string | null

      The story's title; null for a standalone version

    • folder object | null

      The folder the story is filed in, and who can open it; null at the root

      Hide folder attributes Show folder attributes object | null
      • id string
      • name string
      • path array[string]

        Folder names from the root down

      • sharedWithEveryone boolean

        True when everyone in your organization can open the folder (the app's "Share with everyone in your organization"). This is about your team, not the public: it says nothing about who can open the version's link.

      • members array[object]

        Who can open the folder when it is not shared with everyone; empty when it is. Access is set per folder (a parent's members do not carry over), and organization administrators can open every folder without being listed.

        Hide members attributes Show members attributes object
        • name string | null
        • email string | null
        • role string | null

          Values are Owner or Editor.

    • sender object | null
      Hide sender attributes Show sender attributes object | null
      • name string | null

        Sender's name

      • email string | null

        Sender's email

    • url string(uri) | null

      Public URL for the version; null when it is a Draft

    • shortUrl string(uri) | null

      Shortened URL for the version

    • editorUrl string(uri)

      URL to edit the version in the Storydoc editor

    • versionUrl string(uri)

      URL to the version's details in the Storydoc platform

    • isPublic boolean

      True when the version never expires

    • expireAt string(date-time) | null

      When the link expires

    • hasAcceptButton boolean

      Whether the version has an Accept button - a proposal the reader can accept. Not accepted yet: true here with a status other than Accepted.

    • acceptedAt string(date-time) | null

      When the reader accepted it; null unless Accepted

    • source string | null

      How the version was created, e.g. Manual or API

    • createdAt string(date-time)
    • updatedAt string(date-time)
    • data object

      The version's current variable values - the same object POST /v2/versions takes as data

      Additional properties are allowed.

  • 403 application/json

    Authentication failed, the key is scoped to a different story, the member who created the key has left the organization, or a legacy org token has been replaced by a newer one

    Hide response attributes Show response attributes object
    • error string
    • code string

      VARIABLES_PLAN_REQUIRED when the story uses variables above the account's plan; absent for authentication failures.

    • requiredPlan string

      With VARIABLES_PLAN_REQUIRED: the lowest plan that covers every blocked variable.

      Values are pro or team.

    • variables array[object]

      With VARIABLES_PLAN_REQUIRED: the blocked variables and the plan each needs.

      Hide variables attributes Show variables attributes object
      • name string
      • requiredPlan string
  • 404 application/json

    Version not found

    Hide response attribute Show response attribute object
    • error string
  • 429 application/json

    Too many requests

    Hide response attribute Show response attribute object
    • error string
  • 500 application/json

    Internal server error

    Hide response attributes Show response attributes object
    • error string
    • errorId string
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"
}