Initial commit

This commit is contained in:
Foorack / Max Faxälv
2021-07-28 11:44:53 +02:00
commit 4aca4ff25d
100 changed files with 5878 additions and 0 deletions

138
README.md Normal file
View File

@ -0,0 +1,138 @@
# Rust API client for vrchatapi
![VRChat API Banner](https://raw.githubusercontent.com/vrchatapi/vrchatapi.github.io/master/assets/apibanner.png)
# VRChat API Documentation
This project is an [OPEN Open Source Project](https://openopensource.org)
Individuals making significant and valuable contributions are given
commit-access to the project to contribute as they see fit. This project
is more like an open wiki than a standard guarded open source project.
## Disclaimer
This is the official response of the VRChat Team (from Tupper more specifically) on the usage of the VRChat API.
> **Use of the API using applications other than the approved methods (website, VRChat application) are not officially supported. You may use the API for your own application, but keep these guidelines in mind:**
> * We do not provide documentation or support for the API.
> * Do not make queries to the API more than once per 60 seconds.
> * Abuse of the API may result in account termination.
> * Access to API endpoints may break at any given time, with no warning.
As stated, this documentation was not created with the help of the official VRChat team. Therefore this documentation is not an official documentation of the VRChat API and may not be always up to date with the latest versions. If you find that a page or endpoint is not longer valid please create an issue and tell us so we can fix it.
## Get in touch with us!
[https://discord.gg/qjZE9C9fkB#vrchat-api](https://discord.gg/qjZE9C9fkB)
## Overview
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://openapis.org) from a remote server, you can easily generate an API client.
- API version: 1.0.0
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.RustClientCodegen
For more information, please visit [https://github.com/VRChatAPI](https://github.com/VRChatAPI)
## Installation
Put the package under your project folder and add the following to `Cargo.toml` under `[dependencies]`:
```
openapi = { path = "./generated" }
```
## Documentation for API Endpoints
All URIs are relative to *https://api.vrchat.cloud/api/1*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AuthenticationApi* | [**delete_user_by_id**](docs/AuthenticationApi.md#delete_user_by_id) | **PUT** /user/{userId}/delete | Delete User
*AuthenticationApi* | [**get_current_user**](docs/AuthenticationApi.md#get_current_user) | **GET** /auth/user | Login and/or Get Current User Info
*AuthenticationApi* | [**logout**](docs/AuthenticationApi.md#logout) | **PUT** /logout | Logout
*AuthenticationApi* | [**verify2_fa**](docs/AuthenticationApi.md#verify2_fa) | **POST** /auth/twofactorauth/totp/verify | Verify 2FA code
*AuthenticationApi* | [**verify_auth_token**](docs/AuthenticationApi.md#verify_auth_token) | **GET** /auth | Verify Auth Token
*AuthenticationApi* | [**verify_recovery_code**](docs/AuthenticationApi.md#verify_recovery_code) | **POST** /auth/twofactorauth/otp/verify | Verify 2FA code with Recovery code
*FilesApi* | [**create_file**](docs/FilesApi.md#create_file) | **POST** /file | Create File
*FilesApi* | [**create_file_version**](docs/FilesApi.md#create_file_version) | **POST** /file/{fileId} | Create File Version
*FilesApi* | [**delete_file**](docs/FilesApi.md#delete_file) | **DELETE** /file/{fileId} | Delete File
*FilesApi* | [**delete_file_version**](docs/FilesApi.md#delete_file_version) | **DELETE** /file/{fileId}/{versionId} | Delete File Version
*FilesApi* | [**download_file_version**](docs/FilesApi.md#download_file_version) | **GET** /file/{fileId}/{versionId} | Download File Version
*FilesApi* | [**finish_file_data_upload**](docs/FilesApi.md#finish_file_data_upload) | **PUT** /file/{fileId}/{versionId}/{fileType}/finish | Finish FileData Upload
*FilesApi* | [**get_file**](docs/FilesApi.md#get_file) | **GET** /file/{fileId} | Show File
*FilesApi* | [**get_file_data_upload_status**](docs/FilesApi.md#get_file_data_upload_status) | **GET** /file/{fileId}/{versionId}/{fileType}/status | Check FileData Upload Status
*FilesApi* | [**get_files**](docs/FilesApi.md#get_files) | **GET** /files | List Files
*FilesApi* | [**start_file_data_upload**](docs/FilesApi.md#start_file_data_upload) | **PUT** /file/{fileId}/{versionId}/{fileType}/start | Start FileData Upload
*FriendsApi* | [**delete_friend_request**](docs/FriendsApi.md#delete_friend_request) | **DELETE** /user/{userId}/friendRequest | Delete Friend Request
*FriendsApi* | [**friend**](docs/FriendsApi.md#friend) | **POST** /user/{userId}/friendRequest | Send Friend Request
*FriendsApi* | [**get_friend_status**](docs/FriendsApi.md#get_friend_status) | **GET** /user/{userId}/friendStatus | Check Friend Status
*FriendsApi* | [**get_friends**](docs/FriendsApi.md#get_friends) | **GET** /auth/user/friends | List Friends
*FriendsApi* | [**unfriend**](docs/FriendsApi.md#unfriend) | **DELETE** /auth/user/friends/{userId} | Unfriend
*NotificationsApi* | [**accept_friend_request**](docs/NotificationsApi.md#accept_friend_request) | **PUT** /auth/user/notifications/{notificationId}/accept | Accept Friend Request
*NotificationsApi* | [**clear_notifications**](docs/NotificationsApi.md#clear_notifications) | **PUT** /auth/user/notifications/clear | Clear All Notifications
*NotificationsApi* | [**delete_notification**](docs/NotificationsApi.md#delete_notification) | **PUT** /auth/user/notifications/{notificationId}/hide | Delete Notification
*NotificationsApi* | [**get_notifications**](docs/NotificationsApi.md#get_notifications) | **GET** /auth/user/notifications | List Notifications
*NotificationsApi* | [**mark_notification_as_read**](docs/NotificationsApi.md#mark_notification_as_read) | **PUT** /auth/user/notifications/{notificationId}/see | Mark As Read
*SystemApi* | [**get_config**](docs/SystemApi.md#get_config) | **GET** /config | Fetch API Config
*SystemApi* | [**get_current_online_users**](docs/SystemApi.md#get_current_online_users) | **GET** /visits | Current Online Users
*SystemApi* | [**get_health**](docs/SystemApi.md#get_health) | **GET** /health | Check API Health
*SystemApi* | [**get_system_time**](docs/SystemApi.md#get_system_time) | **GET** /time | Current System Time
*UsersApi* | [**get_user**](docs/UsersApi.md#get_user) | **GET** /users/{userId} | Get User by ID
*UsersApi* | [**get_user_by_name**](docs/UsersApi.md#get_user_by_name) | **GET** /users/{username}/name | Get User by Username
*UsersApi* | [**search_active_users**](docs/UsersApi.md#search_active_users) | **GET** /users/active | Search Active Users
*UsersApi* | [**search_users**](docs/UsersApi.md#search_users) | **GET** /users | Search All Users
*UsersApi* | [**update_user**](docs/UsersApi.md#update_user) | **PUT** /users/{userId} | Update User Info
*WorldsApi* | [**search_worlds**](docs/WorldsApi.md#search_worlds) | **GET** /worlds | Search all worlds
## Documentation For Models
- [Config](docs/Config.md)
- [ConfigAnnouncements](docs/ConfigAnnouncements.md)
- [ConfigDownloadUrls](docs/ConfigDownloadUrls.md)
- [ConfigDynamicWorldRows](docs/ConfigDynamicWorldRows.md)
- [ConfigEvents](docs/ConfigEvents.md)
- [CurrentUser](docs/CurrentUser.md)
- [DeploymentGroup](docs/DeploymentGroup.md)
- [DeveloperType](docs/DeveloperType.md)
- [Error](docs/Error.md)
- [File](docs/File.md)
- [FileData](docs/FileData.md)
- [FileStatus](docs/FileStatus.md)
- [FileVersion](docs/FileVersion.md)
- [InlineObject](docs/InlineObject.md)
- [InlineObject1](docs/InlineObject1.md)
- [InlineObject2](docs/InlineObject2.md)
- [InlineObject3](docs/InlineObject3.md)
- [InlineObject4](docs/InlineObject4.md)
- [InlineResponse200](docs/InlineResponse200.md)
- [InlineResponse2001](docs/InlineResponse2001.md)
- [InlineResponse2002](docs/InlineResponse2002.md)
- [InlineResponse2003](docs/InlineResponse2003.md)
- [InlineResponse2004](docs/InlineResponse2004.md)
- [InlineResponse2005](docs/InlineResponse2005.md)
- [InlineResponse401](docs/InlineResponse401.md)
- [LimitedUser](docs/LimitedUser.md)
- [LimitedWorld](docs/LimitedWorld.md)
- [MimeType](docs/MimeType.md)
- [Notification](docs/Notification.md)
- [NotificationType](docs/NotificationType.md)
- [ReleaseStatus](docs/ReleaseStatus.md)
- [Response](docs/Response.md)
- [Success](docs/Success.md)
- [User](docs/User.md)
- [UserState](docs/UserState.md)
- [UserStatus](docs/UserStatus.md)
To get access to the crate's generated documentation, use:
```
cargo doc --open
```
## Author
me@ruby.js.org