← API reference
CANONICAL TYPE REFERENCE

WorkspaceVersion

One immutable version of a workspace's definition. Versions form the authoring history; listWorkspaceVersions returns them newest first.

TypeID of this immutable version record (prefix wsv, e.g. "wsv_01K…").

TypeID of the workspace this version belongs to (prefix wks).

Sequential version number within the workspace, starting at 1 and incrementing per authored draft.

DRAFT while this version is still being authored; PUBLISHED once publishWorkspace promotes it. Several DRAFT versions may be open at once — editing a workspace amends the newest, while createWorkspaceVersion always mints another — and publishing promotes the one it names, leaving the rest open.

definitionString!

Internal compiled rendering contract.

sourceString

Exact XML/Lua source envelope for this author-only version.

ISO-8601 timestamp when this version was authored (not when it was published).

View exact SDL
"""
One immutable version of a workspace's definition. Versions form the authoring history; `listWorkspaceVersions` returns them newest first.
"""
type WorkspaceVersion @iac_resource(name: "workspace_version") @iac_replace(strategy: CREATE_BEFORE_DESTROY) @iac_guide(ref: "workspace-authoring-guide") @iac_ops(create: "createWorkspaceVersionSnapshot", read: "getWorkspaceVersion", delete: "deleteWorkspaceVersionIfExists") {
  """
  TypeID of this immutable version record (prefix `wsv`, e.g. "wsv_01K…").
  """
  id: WorkspaceVersionID! @iac_identity(assignedBy: SERVER) @iac_computed
  """TypeID of the workspace this version belongs to (prefix `wks`)."""
  workspaceId: WorkspaceID! @iac_ref(resource: "workspace", onTargetDelete: CASCADE) @iac_forcesReplace
  """
  Sequential version number within the workspace, starting at 1 and incrementing per authored draft.
  """
  version: Int! @iac_computed
  """
  DRAFT while this version is still being authored; PUBLISHED once `publishWorkspace` promotes it. Several DRAFT versions may be open at once — editing a workspace amends the newest, while `createWorkspaceVersion` always mints another — and publishing promotes the one it names, leaving the rest open.
  """
  status: WorkspaceStatus! @iac_computed
  """Internal compiled rendering contract."""
  definition: String! @iac_computed
  """Exact XML/Lua source envelope for this author-only version."""
  source: String @iac_forcesReplace @iac_artifact(language: JSON, validators: ["workspace-source", "workspace-source-structure"]) @iac_guide(ref: "workspace-authoring-guide")
  """
  ISO-8601 timestamp when this version was authored (not when it was published).
  """
  createdAt: ISO8601! @iac_computed
}

One stable address across all schema views. Follow a field’s type to explore connections between domains.