# Read Capabilities Discover this version’s regions and supported operations. Descriptors report prerequisites, permission, availability, and reasons an operation cannot run. Use their choices instead of assuming every world supports every edit. ## Request and Response GET `/world/versions/{version_id}/capabilities` ### Parameters `version_id` · path, uuid · required `world_id` · query, string · required ### Response 200application/jsonAn object with properties defined by the server. ```bash curl --fail-with-body \ "$EXULANICA_API_URL/world/versions/$VERSION_ID/capabilities?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"]}/capabilities?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 "object" ``` 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)