Technical Details - GetInstance API call.

Under the hood of VRChat lies the API - a service which provides data about the system itself to users and systems that need it. Everything uses the API - our website and backend systems, 3rd party applications like VRCX or Flirtual, even the VRChat application itself.

One of the things we do behind the scenes is gather information about our group's instances via the API. This is how we know when to close instances, who's actively making lobbies, which worlds are popular, and so on.

The API request we make to VRChat to get information about instances is notable missing one thing - the person who actually clicked the button to make the instance. Below is an abridged example of what the data we get back looks like:

{
"active": true,
"ageGate": true,
"calendarEntryId": null,
"canRequestInvite": false,
"capacity": 8,
"clientNumber": "unknown",
"closedAt": null,
"contentSettings": {... },
"displayName": "",
"full": false,
"gameServerVersion": 1626,
"groupAccessType": "plus",
"hardClose": null,
"hasCapacityForYou": false,
"id": "wrld_41efe3b1-9931-40ab-a15d-6946d22481b5:72331~group(grp_d49c108b-dcf4-49b5-8efa-5cfce12f6c9c)~groupAccessType(plus)~ageGate~region(us)",
"instanceId": "72331~group(grp_d49c108b-dcf4-49b5-8efa-5cfce12f6c9c)~groupAccessType(plus)~ageGate~region(us)",
"instancePersistenceEnabled": null,
"location": "wrld_41efe3b1-9931-40ab-a15d-6946d22481b5:72331~group(grp_d49c108b-dcf4-49b5-8efa-5cfce12f6c9c)~groupAccessType(plus)~ageGate~region(us)",
"n_users": 7,
"name": "72331",
"nonce": "2ab26568-0ed5-4006-aa28-2ea8eeab6a5c",
"ownerId": "grp_d49c108b-dcf4-49b5-8efa-5cfce12f6c9c",
"permanent": true,
"photonRegion": "us",
"platforms": {...},
"playerPersistenceEnabled": true,
"queueEnabled": true,
"queueSize": 0,
"recommendedCapacity": 8,
"region": "us",
"roleRestricted": false,
"secureName": "gev07k5y",
"shortName": null,
"strict": false,
"tags": [...],
"type": "group",
"userCount": 8,
"world": {... },
"worldId": "wrld_41efe3b1-9931-40ab-a15d-6946d22481b5"
}

Most notable here is the "OwnerID" field - if this is a public, friends, friends+ , invite, or invite+ instance this will be the creator. However, if this is a group or group+ instance (like all RBN instances are) this will be the group's ID instead.

We are in no way claiming that VRChat "can't figure out who made the instance" (And in fact we can too, combining this with data from other sources), but rather that the API call we use to get instance data does not provide that information directly when it comes to group instances. This tends to support our position that ultimately the group owner is responsible for the text attached to group instances, and why we have the lobby name whitelist process in place.