UserWorlds

Lists the worlds owned by a user. Public callers see the user's Public worlds only; the user themselves (or an admin) also see their non-Public worlds -- the same semantics as GET /v2/worlds?users_id=N.

get/v2/users/{route_users_id}/worlds

Request

  • Base URL
    https://api.sidequestvr.com
  • URL
    https://api.sidequestvr.com/v2/users/{route_users_id}/worlds
  • Auth
    none declared

Path parameters

route_users_idstring required

The unique users id, or 'me' for the calling user

Query parameters

skipinteger

Skips a number of objects from the start of the list. Used for paging.

limitinteger

Limits the number of objects returned.

users_idinteger

Filters the returned rows by the ID of the user that owns the world

statusinteger
  • 100 - Only the world owner can join
  • 200 - The owner and the owner's accepted friends can join
  • 250 - Friends+: the owner, the owner's accepted friends, and their accepted friends can join
  • 300 - The owner plus owners/moderators of communities the world is attached to (Approved attachments only)
  • 400 - The owner plus any non-blocked member of communities the world is attached to (Approved attachments only)
  • 1000 - Anyone can join, including anonymous users

Filters the returned rows by the world's access level

namestring

Filters the returned rows by the name of the world. The % (url encoded as %25) can be included in the string as a wildcard.

is_space_externalboolean

Filters the returned rows by true when the world is hosted on a third-party URL (verified via the sidequest-space-verification meta tag) instead of SideQuest hosting

staff_pickboolean

Filters the returned rows by whether this is a staff pick

community_pickboolean

Filters the returned rows by whether this is a community pick

sortOnstring

Sorts the returned object by one or more parameters. Multiple values can be separated by a comma for sorting on multiple fields.

  • name - The name of the world
  • created_at - When the world was created
  • status - The world's access level
  • top - The world's upvote count
  • hot - The world's hot score
  • attendance - How many space sessions the world has hosted
  • time_spent - The total time users have spent in the world
descendingstring

Orders the results in descending order based on the sortOn specified. If there are multiple sortOns specified, multiple values can be separated by a comma for each corresponding sortOn.

Response

Success

worlds_idinteger required

The unique ID of the world

users_idinteger required

The ID of the user that owns the world

namestring required

The name of the world

descriptionstring

The description of the world

image_urlstring

A URL to the world's icon/preview image

banner_urlstring

A URL to the world's banner image

space_slugstring

The world's subdomain slug when SideQuest-hosted

space_urlstring

The canonical joinable URL of the world

space_hashstring

The runtime hash of the world's canonical URL. This is the room identity used by the realtime layer.

is_space_externalboolean required

True when the world is hosted on a third-party URL (verified via the sidequest-space-verification meta tag) instead of SideQuest hosting

max_occupancyinteger

The per-instance player cap used by instance allocation. Falls back to the scraped sq-maxoccupancy, then 20.

statusinteger required

The world's access level

  • 100 - Only the world owner can join
  • 200 - The owner and the owner's accepted friends can join
  • 250 - Friends+: the owner, the owner's accepted friends, and their accepted friends can join
  • 300 - The owner plus owners/moderators of communities the world is attached to (Approved attachments only)
  • 400 - The owner plus any non-blocked member of communities the world is attached to (Approved attachments only)
  • 1000 - Anyone can join, including anonymous users
block_guestsboolean

Blocks joiners who are not signed in. Does NOT block an unauthenticated bot or AI agent: those classify as bot/agent rather than guest, and are governed by their own flags.

block_botsboolean

Blocks clients declaring themselves driven by automation tooling (sq_client_kind=mcp). The world owner, sq_admins, managers of the Approved-attached community, and accounts on the world's bot allowlist are exempt.

block_ai_agentsboolean

Blocks headless AI agents (sq_client_kind=agent). Same exemptions as block_bots.

upvotesinteger

The number of discovery upvotes

hot_scoreinteger

The discovery hot score

attendance_countinteger

The number of recorded visits

time_spent_secondsinteger

The total recorded visit duration in seconds

staff_pickboolean

Whether this is a staff pick

community_pickboolean

Whether this is a community pick

categoriesstring[]

Discovery category tags

user_vote_statusobject

The caller's vote status

avg_fpsobject

Sample-weighted average FPS

fps_sample_countinteger

Number of FPS reporters represented by the aggregate

fps_reset_atobject

When the world's FPS telemetry was last reset, or null if never

fps_reset_available_atobject

When the owner may next reset FPS telemetry, or null if they may reset now. sq_admins are exempt. Only populated on the single-world read.

attached_communityobject

The community this world is attached to (Approved attachment), or null when standalone. At most one by product rule. Only populated on the single-world read.

created_atstring date-time required

A timestamp indicating when the world was created

last_modifiedstring date-time required

A timestamp indicating the last time the world was modified

Example response

[
  {
    "created_at": "1970-04-20 07:10:00+00",
    "last_modified": "1970-04-20 07:10:00+00"
  }
]

Changes

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      endpoint added