Code Monkey home page Code Monkey logo

vrchatapi.github.io's Introduction

VRChat API Banner

💙 VRChat API Documentation 💙

Welcome to the VRChat API Documentation Project! This project is an OPEN Open Source Project where we strive to document the VRChat's Web API, and thereby enable of developers to programmatically interact with VRChat and develop amazing new programs, Discord bots and websites!

🔰 Getting Started

Check out the REST API documentation at: https://vrchatapi.github.io/

Or if you are simply looking to use the VRChat API, please instead check out one of the language libraries:

(click, they are links!)

⚠️ Disclaimer

Before we begin, we would like to state this is a COMMUNITY DRIVEN PROJECT. This means that everything you read on here was written by the community itself and is not officially supported by VRChat. The documentation is provided "AS IS", and any action you take towards VRChat is completely your own responsibility.

The documentation and additional libraries SHALL ONLY be used for applications interacting with VRChat's API in accordance with their Terms of Service and Community Guidelines, and MUST NOT be used for modifying the client, "avatar ripping", or other illegal activities. Malicious usage or spamming the API may result in account termination. Certain parts of the API are also more sensitive than others, for example moderation, so please tread extra carefully and read the warnings when present.

Tupper Policy on API

Finally, use of the API using applications other than the approved methods (website, VRChat application, Unity SDK) is not officially supported. VRChat provides no guarantee or support for external applications using the API. Access to API endpoints may break at any time, without notice. Therefore, please do not ping VRChat Staff in the VRChat Discord if you are having API problems, as they do not provide API support.

👋 Get in touch with us!

We will make a best effort in keeping this documentation and associated language libraries up to date, but things might be outdated or missing. If you find that something is no longer valid, please contact us on Discord or create an issue and tell us so we can fix it.

Discord

💖 Contributing (Help wanted!)

Do you want to help with documenting the API? The work we do today build upon the work done by predecessors years ago. We are standing on the shoulders of giants. If you help out, then one day people will greatly appreciate the work you've done in helping them to create even greater innovations.

It is beautiful developing API documentation, not only because it will help yourself in your own projects, but because it allows others to create stuff you yourself wouldn't even think of, thereby greatly improving the experience for everyone! If that sounds amazing, please contact on Discord and we can help you get started!

vrchatapi.github.io's People

Contributors

alekso56 avatar ariesclark avatar bluscream avatar dependabot[bot] avatar dotted avatar error0418 avatar foorack avatar gizmo-ds avatar hakanai avatar itay2805 avatar jerk avatar katistic avatar kazu0617 avatar kmyk avatar lolie1on avatar mr-precise avatar pema99 avatar phaxenor avatar rndstring avatar shadorki avatar shiueo avatar sksat avatar slaynash avatar sypherrdev avatar tambzy avatar theepicsnail avatar themonthofjune avatar untuned avatar vinyarionhyarmendacil avatar xdelta avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vrchatapi.github.io's Issues

The register endpoint needs captcha verification now.

Using my custom API access lib:
RuntimeError: ('Code 400 detected.', 400, {'error': {'message': '"You didn\'t even try the captcha? That\'s definite robot behavior."', 'status_code': 400}})
RIP Register endpoint? Can't access it anyway using JSON if that is in the way.

Willing to help

Hello as you know i got a little out of hand on your discord, but i'm willing to help if you are in need of it since i have alot of experience with the api

New API Tags

"tags": [
"admin_filter_UrlLauncher",
"admin_AllowInternal_OpenURLWithData",
"admin_allow_open_url_with_data",
"system_updated_recently"
]

full JSON

{
  "id": "wrld_fa9ffaec-370c-442f-b3da-a514f5fe440b",
  "name": "Furality Umbra: Dealer's Den Sector 2",
  "description": "Umbra Dealers 02",
  "authorId": "usr_7738c828-9538-4e20-a54a-8c6f1425b6b6",
  "authorName": "Furality",
  "capacity": 80,
  "recommendedCapacity": 80,
  "tags": [
    "admin_filter_UrlLauncher",
    "admin_AllowInternal_OpenURLWithData",
    "admin_allow_open_url_with_data",
    "system_updated_recently"
  ],
  "releaseStatus": "private",
  "imageUrl": "https://api.vrchat.cloud/api/1/file/file_28481dd4-9562-4909-a57b-b79fa249a2a3/2/file",
  "thumbnailImageUrl": "https://api.vrchat.cloud/api/1/image/file_28481dd4-9562-4909-a57b-b79fa249a2a3/2/256",
  "assetUrl": "",
  "assetUrlObject": {},
  "pluginUrl": "",
  "pluginUrlObject": {},
  "unityPackageUrl": "",
  "unityPackageUrlObject": {},
  "unityPackages": [
    {
      "assetUrl": "https://api.vrchat.cloud/api/1/file/file_0d87c4c9-ab38-4876-b09e-f41c17fc47ac/2/file",
      "assetVersion": 4,
      "created_at": "2024-06-08T18:43:00.260Z",
      "id": "unp_cf437618-bdbf-4d9f-a593-af942a36cd5e",
      "platform": "android",
      "unitySortNumber": 20220306000,
      "unityVersion": "2022.3.6f1"
    },
    {
      "assetUrl": "https://api.vrchat.cloud/api/1/file/file_73fef808-12fc-4083-a37a-60950a6cbd43/9/file",
      "assetVersion": 4,
      "created_at": "2024-06-08T20:24:53.314Z",
      "id": "unp_0f8ca080-ad9d-4a26-babd-7b83e3e950bb",
      "platform": "standalonewindows",
      "unitySortNumber": 20220306000,
      "unityVersion": "2022.3.6f1"
    }
  ],
  "version": 19,
  "favorites": 0,
  "created_at": "2024-06-05T08:04:47.364Z",
  "updated_at": "2024-06-08T20:24:53.707Z",
  "publicationDate": "none",
  "labsPublicationDate": "none",
  "visits": 4610,
  "popularity": 0,
  "heat": 0,
  "publicOccupants": 0,
  "privateOccupants": 0,
  "occupants": 0,
  "instances": [],
  "featured": false,
  "organization": "vrchat",
  "previewYoutubeId": null,
  "$isLabs": false,
  "udonProducts": []
}

Undocumented endpoint (/pigAscii)

I have no clue what the use is, but https://vrchat.com/api/1/pigAscii exists.

Response at time of writing:

{"pig":"\n             __,---.__\n        __,-'         `-.\n       /_ /_,'           \\&\n       _,''               \\\n      (\")            .    |\n pig   ``--|__|--..-'`.__|\n"}

formatted 'pig' object:

             __,---.__
        __,-'         `-.
       /_ /_,'           \\&
       _,''               \\
      (\")            .    |
 pig   ``--|__|--..-'`.__|

UserAPI/GetByName & UserAPI/GetByID Issue

i dont know only just me but i getting issues with his API, what is finds user just fine, but when i find user and if they offline says is friend true, but when come online makes world / isfriend blank, example

isfriend: false = If user is Friend from offline and sets to true but when online sets to false.

and same goes world when offline says offline but when online says world: "" <-- Blank info

and i dont know only just me getting that issue or anyone else getting it too

im using Postman for find paths im looking for, then after i find paths then going embed all this to nodejs(Discord.JS Private BOT of mine)

only find this issue from Postman self

VRChat API Change Notification - Header Changes

Hello!

VRChat's API will be making a change soon. We'll be adding the SameSite=Lax attribute to our auth cookies. This is part of an effort to improve our CSRF protection.

Browsers for the most part already treat all cookies this way, but a handful don't. We don't expect this to affect many VRChat-related applications, but we wanted to let you know anyhow.

Additionally, we're going to start filtering requests based on the Origin and Referer headers. Leave those headers empty to avoid being impacted by this change.

Thank you!

Implement Subscription docs

Current docs should at least cover how to get information about your current subscription. And in the future this has to be expanded when Creator Economy launches. People are very likely to want to script these things.

Available tiers can be fetched with:
GET https://vrchat.com/api/1/subscriptions

And especially interesting, current account subscription can be fetched with:
GET https://vrchat.com/api/1/auth/user/subscription

This allows you to see what kind of subscription you have, when you got it, and when it expires. There is a lot more, but we should start with the basics.

[
	{
		"id":"vrchatplus-yearly",
		"transactionId":"txn_xxxxxxxx-xxxx-4xxx-axxx-xxxxxxxxxxxx",
		"store":"Steam",
		"steamItemId":"5000",
		"amount":9999,
		"description":"VRChat Plus (Yearly)",
		"period":"year",
		"tier":5,
		"active":true,
		"status":"active",
		"expires":"2022-03-04T00:00:00.000Z",
		"created_at":"2020-12-04T13:09:54.344Z",
		"updated_at":"2020-12-10T19:53:45.362Z",
		"licenseGroups":[
			"lgrp_608513da-b213-4e15-80af-bd88c27f0979"
		],
		"isGift":false
	}
]```

Implement Update World

Right now we only have "list", "get info", and "delete". We are critically missing how to update a world (high importance), but also how to create one (low importance, outside of scope, optional).

UI (sidebar and URL) is very slow to update after Rapidoc upgrade

We've upgrade Rapidoc, and released Groups, and now several UI issues exist.

When clicking on anything in the Sidebar under API DOCS, it takes several click for the sidebar to even update you have moved somewhere. Yet I don't think it's a rendering issue, because the "main content" update instantaneously.

Look into if there is an existing Rapidoc ticket for this.

Could you explain how to actually use the API key?

In the Getting Started section, you mention that "Every API requires you to give a special API key".
Yes I have the API key, but how does one give said key? A header? A cookie? A query string? This isn't covered at all and I'm tired of getting 401s that tell me to provide the key.

Missing Websocket events

The defined ones on web are:
notification, notification-v2, notification-v2-update, notification-v2-delete, see-notification, hide-notification, clear-notification, friend-add, friend-delete, friend-online, friend-active, friend-offline, friend-update, friend-location, user-update, user-location

The new ones are:
group-joined, group-left

We are missing documentation on several of these.

Document /groups/ID/posts

Ever since multiple posts/announcements per group became possible, the /groups/ID/announcement endpoint has been insufficient. The website uses /groups/ID/posts to retrieve the post history of a group.

Query parameters:

n: Amount of results (like for group members). Seems to default to 5. The website issues multiple calls to the endpoint as you scroll down.
offset: Which result to return from, defaulting to 0.

Results appear sorted by reverse creation date by default.

Returns:

{
	"total": AMOUNT,
	"posts": [GroupAnnouncement]
}

Where AMOUNT is the total amount of existing posts, not the amount of returned posts.

The GroupAnnouncement object is outdated in the website. The following fields are missing (returned equally by both endpoints):

editorId: string
visibility: string (defaults to "group", there's presumably some value for public posts)
roleIds: [string] (assumed)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.