data-export
customer-content

List retained versions of a workspace note template

Lists the retained stored versions of one template's body (part=content, the default) or of its imported instructions (part=instructions, document and meeting templates only), newest first, up to 50 per page. Pass nextCursor back as cursor until it is null. The template must belong to this scope, otherwise 404. Deleted templates and Vetnio's default catalog templates are not available. currentVersionId can change while you page if someone edits the template. For part=content, versions carry audit metadata about the edit that saved them when it is available. Requires admin rights in the workspace (workspace admin or superadmin, or an admin of an organization the clinic belongs to). Accepts a browser session or a personal API key; organization and workspace API keys (sk_org_…, sk_ws_…) get 403.

get/workspaces/{workspaceId}/data-export/templates/versions

Request

  • Base URL
    https://vetnio.com/api/v2
  • URL
    https://vetnio.com/api/v2/workspaces/{workspaceId}/data-export/templates/versions
  • Auth
    HTTP bearer

Path parameters

workspaceIdstring required

Identifier of the workspace (clinic) to export. The caller must be an admin of it, directly or as an admin of its organization.

Example:furunculotic-loud-chihuahua

Query parameters

part'content' | 'instructions'

Which stored object of the template to read:

  • content — the template body itself.
  • instructions — the separate instructions object of an imported template (original wording and per-section instructions). Only workspace note and meeting templates have one; other kinds return 400.
Example:content
templateIdstring required

ID of the template, as returned in items[].id by the matching template export. It must belong to the workspace or organization in the path, otherwise 404.

Example:5b0d7a3e-2c41-4f0e-9a77-1f3c9e6b8d20
cursorstring

Opaque pagination cursor: the nextCursor value from the previous page of this template's versions. Omit for the first page. URL-encode it.

Response

Successful response

currentVersionIdstring nullable required

Version ID of the template's current body at the time of the request, or null when there is no current body. Unlike artifact.currentVersionId, a legacy unversioned body is reported here as the literal string "null".

nextCursorstring nullable required

Pass this value as cursor to fetch older versions. null when the history is complete.

Example response

{
  "currentVersionId": "3HL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY",
  "versions": [
    {
      "isLatest": true,
      "lastModified": "2026-09-02T14:30:00.000Z",
      "size": 2048,
      "audit": {
        "id": "c4e1a7b2-9d3f-4e8a-b6c5-2f1e0d9c8b7a",
        "occurredAt": "2026-09-02T14:30:00.000Z",
        "actorName": "Dr. Sam Lee",
        "actorType": "user",
        "action": "template.content_updated",
        "s3VersionId": "3HL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY"
      }
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.