HomeGuidesAPI ReferenceChangelogDiscussions
Hire a ReactVision Expert 🛠️Launch Studio 🖥️Sponsor on GitHub ❤️Log In
API Reference

Create a co-location room

Client or secret key.

Creates a room for a frame this device established, and mints its six-character join code. Other devices look the code up, then join the relay room named by room_id. Viro's co-location room helpers call it.

Send the room's project in x-project-id. Co-location needs a paid plan. Room operations are not counted against the monthly API request quota.

With a client key, a cloud_anchor room needs a public anchor: a private anchor answers 404 ANCHOR_NOT_FOUND, the same as an anchor that does not exist.

A room lasts 90 days, and a room on a cloud anchor is deleted with the anchor. A project holds at most 500 rooms.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
enum
required

How the room's devices share a frame: cloud_anchor (phones), meta_group (Quest) or visionos_space (visionOS).

Allowed:
uuid

For cloud_anchor: an anchor of this project. A client key needs a public anchor.

string
^[A-Za-z0-9._~:@+-]{1,128}$

For meta_group: the group id the headset made. 1 to 128 characters of A-Za-z0-9._~:@+-.

string | null

Up to 150 characters.

uuid | null

A scene of this project, opened by the join code.

Headers
uuid
required

The room's project. With a client key the project must be the key's own project.

Responses

MISSING_PROJECT_ID: no x-project-id header. Checked before the key.

INVALID_PROJECT_ID: x-project-id is not a UUID.

INVALID_BODY: the body is not a JSON object, frame_kind is unknown, cloud_anchor_id or frame_ref is missing or malformed for the frame kind, or name is over 150 characters.

INVALID_SCENE_ID: scene_id is not a scene of this project.

MISSING_API_KEY: no x-api-key header.

INVALID_API_KEY_FORMAT: the key is not rv_live_, rv_client_ or rv_secret_ followed by 64 lowercase hexadecimal characters.

INVALID_API_KEY: no such key, or a key sent with the wrong prefix for its type.

API_KEY_EXPIRED: the key is past its expiry date.

AUTH_ERROR: a user token (rv_ut_) was sent as a Bearer token. This operation does not accept user tokens.

PROJECT_NOT_FOUND: the project does not exist.

PROJECT_ACCESS_DENIED: the project belongs to another team, or is not the project the key is bound to.

PAID_PLAN_REQUIRED: the team is on the Free plan.

ANCHOR_NOT_FOUND: cloud_anchor_id is not an anchor of this project, or, for a client key, is private.

TOO_MANY_ROOMS: the project already holds 500 rooms.

RATE_LIMITED: for a secret key, more than 1,200 requests a minute across all operations. Wait the number of seconds in Retry-After. See Limits.

LOOKUP_FAILED: the anchor, scene or room count could not be read.

CREATE_FAILED: the room could not be created.

INTERNAL_ERROR: an unexpected error. Retry, and quote meta.request_id to support if it persists.

API_KEY_LOOKUP_FAILED: the key could not be checked. Retry; this does not mean the key is invalid.

PROJECT_LOOKUP_FAILED: the project could not be checked. Retry.

TIER_LOOKUP_FAILED: the team's plan could not be checked. Retry.

Language
Credentials
Header
LoadingLoading…
Response
Choose an example:
application/json