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

Download a scan's file

Secret key only. Scope: vps.

Also accepts a user token.

A signed link to a file of one scan, accepted or not. For map, the answer also carries the map's quality and geo. The link needs no credentials and expires 15 minutes after it was signed (expires_at).

With x-app-user-id, or a user token, the request sees that app user's scans and the shared ones. Any other scan answers 404 NOT_FOUND, the same as one that does not exist.

Not counted against the monthly API request quota.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
uuid
required

Scan id.

string
enum
required

The file: map (map.rvmap, what Viro localises against), mesh (textured glTF), world_mesh (the same mesh, untextured and decimated, which <ViroVPS worldMesh> loads for occlusion and physics), splat (3D Gaussian splat), poses (camera pose and intrinsics per frame) or semantic (detected objects). All of them are in the map's frame, in metres.

Allowed:
Headers
uuid
required

The project. With a client key or a bound secret key, the key's own project; with a user token, the token's project.

string
length between 1 and 255

Your id for the signed-in app user: 1 to 255 printable ASCII characters, no spaces, not . or ... With a secret key, the request acts for that app user: it sees the app user's locations and scans and the shared ones, and changes only the app user's own. With a user token, leave it out or send the token's own app user; another one answers 403 APP_USER_MISMATCH. A client or legacy key cannot send it (403 APP_USER_ID_NOT_ALLOWED).

Responses

MISSING_PROJECT_ID: no x-project-id header.

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

INVALID_APP_USER_ID: x-app-user-id is not 1 to 255 printable ASCII characters without spaces, or is . or ...

MISSING_API_KEY: no x-api-key header and no user token.

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

INVALID_SESSION_FORMAT: the Authorization header is not Bearer followed by a user token.

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.

INVALID_APP_USER_TOKEN: the user token is not valid, or the secret key that minted it has been deleted or has expired.

APP_USER_TOKEN_EXPIRED: the user token has expired. Get a new one from your backend.

INVALID_SESSION: a Bearer token that is neither a user token nor a ReactVision Editor session.

API_KEY_TYPE_NOT_ALLOWED: a client key or a legacy key. This operation needs a secret key or a user token.

PROJECT_NOT_FOUND: the project does not exist.

PROJECT_ACCESS_DENIED: the project belongs to another team, is not the project the key is bound to, or is not the user token's project.

APP_USER_ID_NOT_ALLOWED: a client or legacy key sent x-app-user-id. Use a user token, or a secret key on your backend.

APP_USER_MISMATCH: a user token sent an x-app-user-id other than its own app user.

SHARED_CAPTURE_NOT_ALLOWED: a user token asked for the mesh, splat or poses of a shared scan. A user token gets these only for its own app user's scans.

NOT_FOUND: no such scan, one the request cannot see, or a kind this operation does not serve.

NO_ASSET: the scan has no file of that kind, or the file is missing from storage.

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.

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

AUTH_UNAVAILABLE: the key or user token could not be checked. Retry; this does not mean it is invalid.

VPS_LOOKUP_FAILED: the records could not be read or written. Retry.

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