# Read a Version Read a world version and its authored state. Retain state_sha256 before editing; it identifies the state your change is based on. ## Request and Response GET `/world/versions/{version_id}` ### Parameters `version_id` · path, uuid · required `world_id` · query, string · required ### Response 200application/json`schema_version` · integer · required `version_id` · uuid · required `world_id` · string · required `source_snapshot_id` · uuid · required `parent_version_id` · uuid | null · required `title` · string · required The name shown for this saved world. `origin` · string · required `style_version_id` · uuid | null · required `state_sha256` · string · required `edit_seq` · integer · required `source_invalidated` · boolean · required `created_by` · uuid · required `created_at` · string · required `objects` · object[] · required **Show properties** Array of object values `object_id` · string · required `asset` · object | null · required **Show properties** `asset_key` · string · required `title` · string · required `summary` · string · required `media_type` · string · required `content_sha256` · string · required `byte_size` · integer · required `licence_id` · string · required `licence_sha256` · string · required `availability` · string · required `placeable` · boolean · required `workspace_asset` · object | null **Show properties** `asset_id` · uuid · required `preparation_id` · uuid · required `title` · string · required `content_sha256` · string · required `byte_size` · integer · required `media_type` · string · required `licence_id` · string | null · required `attribution` · string | null · required `availability` · string · required `region_id` · string · required `transform` · object · required **Show properties** `coordinate_space` · string · required `coordinate_unit` · string · required `x_mm` · integer · required `y_mm` · integer · required `z_mm` · integer · required `yaw_microradians` · integer · required `scale_milli` · integer · required `origin` · object · required **Show properties** `kind` · string · required `role` · string · required `behaviour` · object | null · required **Show properties** `behaviour_key` · string · required `behaviour_version` · integer · required `parameters` · object · required `removed` · boolean · required `element_overrides` · object[] · required **Show properties** Array of object values `element_id` · string · required `suppressed` · boolean · required `transform` · object | null · required **Show properties** `coordinate_space` · string · required `coordinate_unit` · string · required `x_mm` · integer · required `y_mm` · integer · required `z_mm` · integer · required `yaw_microradians` · integer · required `scale_milli` · integer · required `storeys` · integer | null `environment_instances` · object[] · required **Show properties** Array of object values An object with properties defined by the server. `point_map_instances` · object[] · required **Show properties** Array of object values An object with properties defined by the server. `things` · object[] · required **Show properties** Array of object values An object with properties defined by the server. `edits` · object[] · required **Show properties** Array of object values `edit_id` · uuid · required `edit_seq` · integer · required `kind` · string · required `object_id` · string | null · required `element_id` · string | null · required `environment_instance_id` · string | null · required `point_map_instance_id` · string | null · required `thing_id` · string | null · required `undone_edit_id` · uuid | null · required `base_state_sha256` · string · required `result_state_sha256` · string · required `actor` · uuid · required `recorded_at` · string · required `storeys` · object | null **Show properties** `before` · integer | null · required `after` · integer | null · required `turned_in_place` · boolean | null ```bash curl --fail-with-body \ "$EXULANICA_API_URL/world/versions/$VERSION_ID?world_id=$WORLD_ID" \ -H "Authorization: Bearer $EXULANICA_TOKEN" ``` ```python import json import os import urllib.request url = os.environ["EXULANICA_API_URL"] + f'/world/versions/{os.environ["VERSION_ID"]}?world_id={os.environ["WORLD_ID"]}' headers = { "Authorization": "Bearer " + os.environ["EXULANICA_TOKEN"] } request = urllib.request.Request( url, headers=headers, method="GET" ) with urllib.request.urlopen(request) as response: print(json.load(response)) ``` **200 Response structure** ```json { "schema_version": "integer", "version_id": "uuid", "world_id": "string", "source_snapshot_id": "uuid", "parent_version_id": "uuid | null", "title": "string", "origin": "string", "style_version_id": "uuid | null", "state_sha256": "string", "edit_seq": "integer", "source_invalidated": "boolean", "created_by": "uuid", "created_at": "string", "objects": [ { "object_id": "string", "asset": "object | null", "workspace_asset": "object | null", "region_id": "string", "transform": "object", "origin": "object", "behaviour": "object | null", "removed": "boolean" } ], "element_overrides": [ { "element_id": "string", "suppressed": "boolean", "transform": "object | null", "storeys": "integer | null" } ], "environment_instances": [ "object" ], "point_map_instances": [ "object" ], "things": [ "object" ], "edits": [ { "edit_id": "uuid", "edit_seq": "integer", "kind": "string", "object_id": "string | null", "element_id": "string | null", "environment_instance_id": "string | null", "point_map_instance_id": "string | null", "thing_id": "string | null", "undone_edit_id": "uuid | null", "base_state_sha256": "string", "result_state_sha256": "string", "actor": "uuid", "recorded_at": "string", "storeys": "object | null", "turned_in_place": "boolean | null" } ] } ``` Types and structure, not a live response. Expand properties for the complete field definitions. ## Authentication Send `Authorization: Bearer ` with a token for your workspace. Read operations require `world.read`; writes require `world.write`. [Authentication and access](/docs/authentication)