v6 documentation is incomplete, want to contribute?

Register User Account

Register a new user account.

DEPRECATED: Automated creation of accounts has no legitimate public third-party use case, and would be in violation of ToS §13.2: By using the Platform, you agree not to: i. [...] use the Platform in a manner inconsistent with individual human usage This endpoint is documented in the interest of completeness

Requests made through this page are proxied through an intermediary server due to Cross-Origin Resource Sharing restrictions.

POST
/auth/register
usernamestring

Display Name / Username (Username is a sanitized version)

Length4 <= length <= 15
passwordstring

Password

Length8 <= length
emailstring

Email address

yearstring

Birth year

monthstring

Birth month of year

daystring

Birth day of month

captchaCodestring

Captcha code

subscribeboolean

Whether to recieve promotional emails

acceptedTOSVersioninteger

The most recent version of the TOS

Response Body

curl -X POST "https://api.vrchat.cloud/api/1/auth/register" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "string",
    "password": "stringst",
    "email": "string",
    "year": "string",
    "month": "string",
    "day": "string",
    "captchaCode": "string",
    "subscribe": true,
    "acceptedTOSVersion": 0
  }'
const body = JSON.stringify({
  "username": "string",
  "password": "stringst",
  "email": "string",
  "year": "string",
  "month": "string",
  "day": "string",
  "captchaCode": "string",
  "subscribe": true,
  "acceptedTOSVersion": 0
})

fetch("https://api.vrchat.cloud/api/1/auth/register", {
  body
})
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
  "strings"
)

func main() {
  url := "https://api.vrchat.cloud/api/1/auth/register"
  body := strings.NewReader(`{
    "username": "string",
    "password": "stringst",
    "email": "string",
    "year": "string",
    "month": "string",
    "day": "string",
    "captchaCode": "string",
    "subscribe": true,
    "acceptedTOSVersion": 0
  }`)
  req, _ := http.NewRequest("POST", url, body)
  req.Header.Add("Content-Type", "application/json")
  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  body, _ := ioutil.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
import requests

url = "https://api.vrchat.cloud/api/1/auth/register"
body = {
  "username": "string",
  "password": "stringst",
  "email": "string",
  "year": "string",
  "month": "string",
  "day": "string",
  "captchaCode": "string",
  "subscribe": true,
  "acceptedTOSVersion": 0
}
response = requests.request("POST", url, json = body, headers = {
  "Content-Type": "application/json"
})

print(response.text)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.time.Duration;
import java.net.http.HttpRequest.BodyPublishers;

var body = BodyPublishers.ofString("""{
  "username": "string",
  "password": "stringst",
  "email": "string",
  "year": "string",
  "month": "string",
  "day": "string",
  "captchaCode": "string",
  "subscribe": true,
  "acceptedTOSVersion": 0
}""");
HttpClient client = HttpClient.newBuilder()
  .connectTimeout(Duration.ofSeconds(10))
  .build();

HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
  .uri(URI.create("https://api.vrchat.cloud/api/1/auth/register"))
  .header("Content-Type", "application/json")
  .POST(body)
  .build();

try {
  HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString());
  System.out.println("Status code: " + response.statusCode());
  System.out.println("Response body: " + response.body());
} catch (Exception e) {
  e.printStackTrace();
}
using System;
using System.Net.Http;
using System.Text;

var body = new StringContent("""
{
  "username": "string",
  "password": "stringst",
  "email": "string",
  "year": "string",
  "month": "string",
  "day": "string",
  "captchaCode": "string",
  "subscribe": true,
  "acceptedTOSVersion": 0
}
""", Encoding.UTF8, "application/json");

var client = new HttpClient();
var response = await client.PostAsync("https://api.vrchat.cloud/api/1/auth/register", body);
var responseBody = await response.Content.ReadAsStringAsync();
{
  "acceptedTOSVersion": 7,
  "acceptedPrivacyVersion": 0,
  "accountDeletionDate": "2019-08-24",
  "accountDeletionLog": [
    {
      "message": "Deletion requested",
      "deletionScheduled": "2019-08-24T14:15:22Z",
      "dateTime": "2019-08-24T14:15:22Z"
    }
  ],
  "activeFriends": [
    "usr_c1644b5b-3ca4-45b4-97c6-a2a0de70d469"
  ],
  "ageVerificationStatus": "hidden",
  "ageVerified": true,
  "allowAvatarCopying": true,
  "authToken": "string",
  "badges": [
    {
      "assignedAt": "2019-08-24T14:15:22Z",
      "badgeDescription": "string",
      "badgeId": "bdg_a60e514a-8cb7-4702-8f24-2786992be1a8",
      "badgeImageUrl": "string",
      "badgeName": "string",
      "hidden": true,
      "showcased": true,
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "bio": "string",
  "bioLinks": [
    "string"
  ],
  "contentFilters": [
    "string"
  ],
  "currentAvatar": "avtr_912d66a4-4714-43b8-8407-7de2cafbf55b",
  "currentAvatarImageUrl": "https://api.vrchat.cloud/api/1/file/file_ae46d521-7281-4b38-b365-804b32a1d6a7/1/file",
  "currentAvatarThumbnailImageUrl": "https://api.vrchat.cloud/api/1/image/file_aae83ed9-d42d-4d72-9f4b-9f1e41ed17e1/1/256",
  "currentAvatarTags": [
    "string"
  ],
  "date_joined": "2019-08-24",
  "developerType": "none",
  "displayName": "string",
  "emailVerified": true,
  "fallbackAvatar": "avtr_912d66a4-4714-43b8-8407-7de2cafbf55b",
  "friendGroupNames": [
    "string"
  ],
  "friendKey": "string",
  "friends": [
    "usr_c1644b5b-3ca4-45b4-97c6-a2a0de70d469"
  ],
  "hasBirthday": true,
  "hideContentFilterSettings": true,
  "userLanguage": "string",
  "userLanguageCode": "string",
  "hasEmail": true,
  "hasLoggedInFromClient": true,
  "hasPendingEmail": true,
  "homeLocation": "wrld_ba913a96-fac4-4048-a062-9aa5db092812",
  "id": "usr_c1644b5b-3ca4-45b4-97c6-a2a0de70d469",
  "isAdult": true,
  "isBoopingEnabled": true,
  "isFriend": false,
  "last_activity": "2019-08-24T14:15:22Z",
  "last_login": "2019-08-24T14:15:22Z",
  "last_mobile": "2019-08-24T14:15:22Z",
  "last_platform": "standalonewindows",
  "obfuscatedEmail": "string",
  "obfuscatedPendingEmail": "string",
  "oculusId": "string",
  "googleId": "string",
  "googleDetails": {},
  "picoId": "string",
  "viveId": "string",
  "offlineFriends": [
    "usr_c1644b5b-3ca4-45b4-97c6-a2a0de70d469"
  ],
  "onlineFriends": [
    "usr_c1644b5b-3ca4-45b4-97c6-a2a0de70d469"
  ],
  "pastDisplayNames": [
    {
      "displayName": "string",
      "updated_at": "2019-08-24T14:15:22Z"
    }
  ],
  "presence": {
    "avatarThumbnail": "string",
    "currentAvatarTags": "string",
    "displayName": "string",
    "debugflag": "string",
    "groups": [
      "grp_71a7ff59-112c-4e78-a990-c7cc650776e5"
    ],
    "id": "usr_c1644b5b-3ca4-45b4-97c6-a2a0de70d469",
    "instance": "string",
    "instanceType": "string",
    "isRejoining": "string",
    "platform": "string",
    "profilePicOverride": "string",
    "status": "string",
    "travelingToInstance": "string",
    "travelingToWorld": "wrld_ba913a96-fac4-4048-a062-9aa5db092812",
    "userIcon": "string",
    "world": "wrld_ba913a96-fac4-4048-a062-9aa5db092812"
  },
  "platform_history": [
    {
      "isMobile": true,
      "platform": "string",
      "recorded": "2019-08-24T14:15:22Z"
    }
  ],
  "profilePicOverride": "string",
  "profilePicOverrideThumbnail": "string",
  "pronouns": "string",
  "queuedInstance": "string",
  "receiveMobileInvitations": true,
  "state": "offline",
  "status": "active",
  "statusDescription": "string",
  "statusFirstTime": true,
  "statusHistory": [
    "string"
  ],
  "steamDetails": {},
  "steamId": "string",
  "tags": [
    "string"
  ],
  "twoFactorAuthEnabled": true,
  "twoFactorAuthEnabledDate": "2019-08-24T14:15:22Z",
  "unsubscribe": true,
  "updated_at": "2019-08-24T14:15:22Z",
  "userIcon": "string",
  "username": "string"
}

{
  "error": {
    "message": "\"Missing Credentials\"",
    "status_code": 401
  }
}