0 purchases
vrchat dart generated
vrchat_dart_generated (EXPERIMENTAL) #
Welcome to the VRChat API #
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.
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.
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.
Getting Started #
The VRChat API can be used to programmatically retrieve or update information regarding your profile, friends, avatars, worlds and more.
The API consists of two parts, "Photon" which is only used in-game, and the "Web API" which is used by both the game and the website.
This documentation focuses only on the Web API.
The API is designed around the REST ideology, providing semi-simple and usually predictable URIs to access and modify objects.
Requests support standard HTTP methods like GET, PUT, POST, and DELETE and standard status codes.
Response bodies are always UTF-8 encoded JSON objects, unless explicitly documented otherwise.
đ Warning! Do not touch Photon!
Photon is only used by the in-game client and should not be touched. Doing so may result in permanent account termination.
âšī¸ Authentication
Read Authentication for how to log in.
Using the API #
For simply exploring what the API can do it is strongly recommended to download Insomnia, a free and open-source
API client that's great for sending requests to the API in an orderly fashion.
Insomnia allows you to send data in the format that's required for VRChat's API.
It is also possible to try out the API in your browser, by first logging in at vrchat.com/home and then going to
vrchat.com/api/1/auth/user, but the information will be much harder to work with.
For more permanent operation such as software development it is instead recommended to use one of the existing language SDKs.
This community project maintains API libraries in several languages, which allows you to interact with the API with simple function calls
rather than having to implement the HTTP protocol yourself. Most of these libraries are automatically generated from the API specification,
sometimes with additional helpful wrapper code to make usage easier. This allows them to be almost automatically updated and expanded upon
as soon as a new feature is introduced in the specification itself. The libraries can be found on GitHub or following:
NodeJS (JavaScript)
Dart
Rust
C#
Python
Pagination #
Most endpoints enforce pagination, meaning they will only return 10 entries by default, and never more than 100.
Using both the limit and offset parameters allows you to easily paginate through a large number of objects.
Query Parameter
Type
Description
n
integer
The number of objects to return. This value often defaults to 10. Highest limit is always 100.
offset
integer
A zero-based offset from the default object sorting.
If a request returns fewer objects than the limit parameter, there are no more items available to return.
Contribution #
Do you want to get involved in the documentation effort? Do you want to help improve one of the language API libraries?
This project is an OPEN Open Source Project! This means that individuals making significant and valuable contributions are given
commit-access to the project. It also means we are very open and welcoming of new people making contributions, unlike some more guarded open-source projects.
This Dart package is automatically generated by the OpenAPI Generator project:
API version: 1.18.4
Generator version: 7.8.0
Build package: org.openapitools.codegen.languages.DartDioClientCodegen
For more information, please visit https://github.com/VRChatAPI
Requirements #
Dart 2.15.0+ or Flutter 2.8.0+
Dio 5.0.0+ (https://pub.dev/packages/dio)
JSON Serializable 6.1.5+ (https://pub.dev/packages/json_serializable)
Installation & Usage #
pub.dev #
To use the package from pub.dev, please include the following in pubspec.yaml
dependencies:
vrchat_dart_generated: 1.12.0
copied to clipboard
Github #
If this Dart package is published to Github, please include the following in pubspec.yaml
dependencies:
vrchat_dart_generated:
git:
url: https://github.com/GIT_USER_ID/GIT_REPO_ID.git
#ref: main
copied to clipboard
Local development #
To use the package from your local drive, please include the following in pubspec.yaml
dependencies:
vrchat_dart_generated:
path: /path/to/vrchat_dart_generated
copied to clipboard
Getting Started #
Please follow the installation procedure and then run the following:
import 'package:vrchat_dart_generated/vrchat_dart_generated.dart';
final api = VrchatDartGenerated().getAuthenticationApi();
final String email = email_example; // String | Filter by email.
final String displayName = displayName_example; // String | Filter by displayName.
final String username = username_example; // String | Filter by Username.
final String excludeUserId = excludeUserId_example; // String | Exclude by UserID.
try {
final response = await api.checkUserExists(email, displayName, username, excludeUserId);
print(response);
} catch on DioException (e) {
print("Exception when calling AuthenticationApi->checkUserExists: $e\n");
}
copied to clipboard
Documentation for API Endpoints #
All URIs are relative to https://vrchat.com/api/1
Class
Method
HTTP request
Description
AuthenticationApi
checkUserExists
GET /auth/exists
Check User Exists
AuthenticationApi
deleteUser
PUT /users/{userId}/delete
Delete User
AuthenticationApi
getCurrentUser
GET /auth/user
Login and/or Get Current User Info
AuthenticationApi
logout
PUT /logout
Logout
AuthenticationApi
verify2FA
POST /auth/twofactorauth/totp/verify
Verify 2FA code
AuthenticationApi
verify2FAEmailCode
POST /auth/twofactorauth/emailotp/verify
Verify 2FA email code
AuthenticationApi
verifyAuthToken
GET /auth
Verify Auth Token
AuthenticationApi
verifyRecoveryCode
POST /auth/twofactorauth/otp/verify
Verify 2FA code with Recovery code
AvatarsApi
createAvatar
POST /avatars
Create Avatar
AvatarsApi
deleteAvatar
DELETE /avatars/{avatarId}
Delete Avatar
AvatarsApi
getAvatar
GET /avatars/{avatarId}
Get Avatar
AvatarsApi
getFavoritedAvatars
GET /avatars/favorites
List Favorited Avatars
AvatarsApi
getOwnAvatar
GET /users/{userId}/avatar
Get Own Avatar
AvatarsApi
searchAvatars
GET /avatars
Search Avatars
AvatarsApi
selectAvatar
PUT /avatars/{avatarId}/select
Select Avatar
AvatarsApi
selectFallbackAvatar
PUT /avatars/{avatarId}/selectFallback
Select Fallback Avatar
AvatarsApi
updateAvatar
PUT /avatars/{avatarId}
Update Avatar
EconomyApi
getCurrentSubscriptions
GET /auth/user/subscription
Get Current Subscriptions
EconomyApi
getLicenseGroup
GET /licenseGroups/{licenseGroupId}
Get License Group
EconomyApi
getSteamTransaction
GET /Steam/transactions/{transactionId}
Get Steam Transaction
EconomyApi
getSteamTransactions
GET /Steam/transactions
List Steam Transactions
EconomyApi
getSubscriptions
GET /subscriptions
List Subscriptions
FavoritesApi
addFavorite
POST /favorites
Add Favorite
FavoritesApi
clearFavoriteGroup
DELETE /favorite/group/{favoriteGroupType}/{favoriteGroupName}/{userId}
Clear Favorite Group
FavoritesApi
getFavorite
GET /favorites/{favoriteId}
Show Favorite
FavoritesApi
getFavoriteGroup
GET /favorite/group/{favoriteGroupType}/{favoriteGroupName}/{userId}
Show Favorite Group
FavoritesApi
getFavoriteGroups
GET /favorite/groups
List Favorite Groups
FavoritesApi
getFavorites
GET /favorites
List Favorites
FavoritesApi
removeFavorite
DELETE /favorites/{favoriteId}
Remove Favorite
FavoritesApi
updateFavoriteGroup
PUT /favorite/group/{favoriteGroupType}/{favoriteGroupName}/{userId}
Update Favorite Group
FilesApi
createFile
POST /file
Create File
FilesApi
createFileVersion
POST /file/{fileId}
Create File Version
FilesApi
deleteFile
DELETE /file/{fileId}
Delete File
FilesApi
deleteFileVersion
DELETE /file/{fileId}/{versionId}
Delete File Version
FilesApi
downloadFileVersion
GET /file/{fileId}/{versionId}
Download File Version
FilesApi
finishFileDataUpload
PUT /file/{fileId}/{versionId}/{fileType}/finish
Finish FileData Upload
FilesApi
getFile
GET /file/{fileId}
Show File
FilesApi
getFileDataUploadStatus
GET /file/{fileId}/{versionId}/{fileType}/status
Check FileData Upload Status
FilesApi
getFiles
GET /files
List Files
FilesApi
startFileDataUpload
PUT /file/{fileId}/{versionId}/{fileType}/start
Start FileData Upload
FriendsApi
deleteFriendRequest
DELETE /user/{userId}/friendRequest
Delete Friend Request
FriendsApi
friend
POST /user/{userId}/friendRequest
Send Friend Request
FriendsApi
getFriendStatus
GET /user/{userId}/friendStatus
Check Friend Status
FriendsApi
getFriends
GET /auth/user/friends
List Friends
FriendsApi
unfriend
DELETE /auth/user/friends/{userId}
Unfriend
GroupsApi
addGroupGalleryImage
POST /groups/{groupId}/galleries/{groupGalleryId}/images
Add Group Gallery Image
GroupsApi
addGroupMemberRole
PUT /groups/{groupId}/members/{userId}/roles/{groupRoleId}
Add Role to GroupMember
GroupsApi
addGroupPost
POST /groups/{groupId}/posts
Create a post in a Group
GroupsApi
banGroupMember
POST /groups/{groupId}/bans
Ban Group Member
GroupsApi
cancelGroupRequest
DELETE /groups/{groupId}/requests
Cancel Group Join Request
GroupsApi
createGroup
POST /groups
Create Group
GroupsApi
createGroupAnnouncement
POST /groups/{groupId}/announcement
Create Group Announcement
GroupsApi
createGroupGallery
POST /groups/{groupId}/galleries
Create Group Gallery
GroupsApi
createGroupInvite
POST /groups/{groupId}/invites
Invite User to Group
GroupsApi
createGroupRole
POST /groups/{groupId}/roles
Create GroupRole
GroupsApi
deleteGroup
DELETE /groups/{groupId}
Delete Group
GroupsApi
deleteGroupAnnouncement
DELETE /groups/{groupId}/announcement
Delete Group Announcement
GroupsApi
deleteGroupGallery
DELETE /groups/{groupId}/galleries/{groupGalleryId}
Delete Group Gallery
GroupsApi
deleteGroupGalleryImage
DELETE /groups/{groupId}/galleries/{groupGalleryId}/images/{groupGalleryImageId}
Delete Group Gallery Image
GroupsApi
deleteGroupInvite
DELETE /groups/{groupId}/invites/{userId}
Delete User Invite
GroupsApi
deleteGroupPost
DELETE /groups/{groupId}/posts/{notificationId}
Delete a Group post
GroupsApi
deleteGroupRole
DELETE /groups/{groupId}/roles/{groupRoleId}
Delete Group Role
GroupsApi
getGroup
GET /groups/{groupId}
Get Group by ID
GroupsApi
getGroupAnnouncements
GET /groups/{groupId}/announcement
Get Group Announcement
GroupsApi
getGroupAuditLogs
GET /groups/{groupId}/auditLogs
Get Group Audit Logs
GroupsApi
getGroupBans
GET /groups/{groupId}/bans
Get Group Bans
GroupsApi
getGroupGalleryImages
GET /groups/{groupId}/galleries/{groupGalleryId}
Get Group Gallery Images
GroupsApi
getGroupInstances
GET /groups/{groupId}/instances
Get Group Instances
GroupsApi
getGroupInvites
GET /groups/{groupId}/invites
Get Group Invites Sent
GroupsApi
getGroupMember
GET /groups/{groupId}/members/{userId}
Get Group Member
GroupsApi
getGroupMembers
GET /groups/{groupId}/members
List Group Members
GroupsApi
getGroupPermissions
GET /groups/{groupId}/permissions
List Group Permissions
GroupsApi
getGroupPost
GET /groups/{groupId}/posts
Get posts from a Group
GroupsApi
getGroupRequests
GET /groups/{groupId}/requests
Get Group Join Requests
GroupsApi
getGroupRoles
GET /groups/{groupId}/roles
Get Group Roles
GroupsApi
joinGroup
POST /groups/{groupId}/join
Join Group
GroupsApi
kickGroupMember
DELETE /groups/{groupId}/members/{userId}
Kick Group Member
GroupsApi
leaveGroup
POST /groups/{groupId}/leave
Leave Group
GroupsApi
removeGroupMemberRole
DELETE /groups/{groupId}/members/{userId}/roles/{groupRoleId}
Remove Role from GroupMember
GroupsApi
respondGroupJoinRequest
PUT /groups/{groupId}/requests/{userId}
Respond Group Join request
GroupsApi
searchGroups
GET /groups
Search Group
GroupsApi
unbanGroupMember
DELETE /groups/{groupId}/bans/{userId}
Unban Group Member
GroupsApi
updateGroup
PUT /groups/{groupId}
Update Group
GroupsApi
updateGroupGallery
PUT /groups/{groupId}/galleries/{groupGalleryId}
Update Group Gallery
GroupsApi
updateGroupMember
PUT /groups/{groupId}/members/{userId}
Update Group Member
GroupsApi
updateGroupPost
PUT /groups/{groupId}/posts/{notificationId}
Edits a Group post
GroupsApi
updateGroupRole
PUT /groups/{groupId}/roles/{groupRoleId}
Update Group Role
InstancesApi
closeInstance
DELETE /instances/{worldId}:{instanceId}
Close Instance
InstancesApi
createInstance
POST /instances
Create Instance
InstancesApi
getInstance
GET /instances/{worldId}:{instanceId}
Get Instance
InstancesApi
getInstanceByShortName
GET /instances/s/{shortName}
Get Instance By Short Name
InstancesApi
getShortName
GET /instances/{worldId}:{instanceId}/shortName
Get Instance Short Name
InstancesApi
sendSelfInvite
POST /instances/{worldId}:{instanceId}/invite
Send Self Invite
InviteApi
getInviteMessage
GET /message/{userId}/{messageType}/{slot}
Get Invite Message
InviteApi
getInviteMessages
GET /message/{userId}/{messageType}
List Invite Messages
InviteApi
inviteMyselfTo
POST /invite/myself/to/{worldId}:{instanceId}
Invite Myself To Instance
InviteApi
inviteUser
POST /invite/{userId}
Invite User
InviteApi
requestInvite
POST /requestInvite/{userId}
Request Invite
InviteApi
resetInviteMessage
DELETE /message/{userId}/{messageType}/{slot}
Reset Invite Message
InviteApi
respondInvite
POST /invite/{notificationId}/response
Respond Invite
InviteApi
updateInviteMessage
PUT /message/{userId}/{messageType}/{slot}
Update Invite Message
NotificationsApi
acceptFriendRequest
PUT /auth/user/notifications/{notificationId}/accept
Accept Friend Request
NotificationsApi
clearNotifications
PUT /auth/user/notifications/clear
Clear All Notifications
NotificationsApi
deleteNotification
PUT /auth/user/notifications/{notificationId}/hide
Delete Notification
NotificationsApi
getNotifications
GET /auth/user/notifications
List Notifications
NotificationsApi
markNotificationAsRead
PUT /auth/user/notifications/{notificationId}/see
Mark Notification As Read
PermissionsApi
getAssignedPermissions
GET /auth/permissions
Get Assigned Permissions
PermissionsApi
getPermission
GET /permissions/{permissionId}
Get Permission
PlayermoderationApi
clearAllPlayerModerations
DELETE /auth/user/playermoderations
Clear All Player Moderations
PlayermoderationApi
deletePlayerModeration
DELETE /auth/user/playermoderations/{playerModerationId}
Delete Player Moderation
PlayermoderationApi
getPlayerModeration
GET /auth/user/playermoderations/{playerModerationId}
Get Player Moderation
PlayermoderationApi
getPlayerModerations
GET /auth/user/playermoderations
Search Player Moderations
PlayermoderationApi
moderateUser
POST /auth/user/playermoderations
Moderate User
PlayermoderationApi
unmoderateUser
PUT /auth/user/unplayermoderate
Unmoderate User
SystemApi
getCSS
GET /css/app.css
Download CSS
SystemApi
getConfig
GET /config
Fetch API Config
SystemApi
getCurrentOnlineUsers
GET /visits
Current Online Users
SystemApi
getHealth
GET /health
Check API Health
SystemApi
getInfoPush
GET /infoPush
Show Information Notices
SystemApi
getJavaScript
GET /js/app.js
Download JavaScript
SystemApi
getSystemTime
GET /time
Current System Time
UsersApi
getUser
GET /users/{userId}
Get User by ID
UsersApi
getUserByName
GET /users/{username}/name
Get User by Username
UsersApi
getUserGroupRequests
GET /users/{userId}/groups/requested
Get User Group Requests
UsersApi
getUserGroups
GET /users/{userId}/groups
Get User Groups
UsersApi
getUserRepresentedGroup
GET /users/{userId}/groups/represented
Get user's current represented group
UsersApi
searchUsers
GET /users
Search All Users
UsersApi
updateUser
PUT /users/{userId}
Update User Info
WorldsApi
createWorld
POST /worlds
Create World
WorldsApi
deleteWorld
DELETE /worlds/{worldId}
Delete World
WorldsApi
getActiveWorlds
GET /worlds/active
List Active Worlds
WorldsApi
getFavoritedWorlds
GET /worlds/favorites
List Favorited Worlds
WorldsApi
getRecentWorlds
GET /worlds/recent
List Recent Worlds
WorldsApi
getWorld
GET /worlds/{worldId}
Get World by ID
WorldsApi
getWorldInstance
GET /worlds/{worldId}/{instanceId}
Get World Instance
WorldsApi
getWorldMetadata
GET /worlds/{worldId}/metadata
Get World Metadata
WorldsApi
getWorldPublishStatus
GET /worlds/{worldId}/publish
Get World Publish Status
WorldsApi
publishWorld
PUT /worlds/{worldId}/publish
Publish World
WorldsApi
searchWorlds
GET /worlds
Search All Worlds
WorldsApi
unpublishWorld
DELETE /worlds/{worldId}/publish
Unpublish World
WorldsApi
updateWorld
PUT /worlds/{worldId}
Update World
Documentation For Models #
APIConfig
APIConfigAnnouncement
APIConfigDownloadURLList
APIConfigEvents
APIHealth
AccountDeletionLog
AddFavoriteRequest
AddGroupGalleryImageRequest
Avatar
AvatarUnityPackageUrlObject
Badge
BanGroupMemberRequest
CreateAvatarRequest
CreateFileRequest
CreateFileVersionRequest
CreateGroupAnnouncementRequest
CreateGroupGalleryRequest
CreateGroupInviteRequest
CreateGroupPostRequest
CreateGroupRequest
CreateGroupRoleRequest
CreateInstanceRequest
CreateWorldRequest
CurrentUser
CurrentUserPresence
DeploymentGroup
DeveloperType
DynamicContentRow
Error
Favorite
FavoriteGroup
FavoriteGroupVisibility
FavoriteType
File
FileData
FileStatus
FileUploadURL
FileVersion
FileVersionUploadStatus
FinishFileDataUploadRequest
FriendStatus
Group
GroupAccessType
GroupAnnouncement
GroupAuditLogEntry
GroupGallery
GroupGalleryImage
GroupInstance
GroupJoinRequestAction
GroupJoinState
GroupLimitedMember
GroupMember
GroupMemberLimitedUser
GroupMemberStatus
GroupMyMember
GroupPermission
GroupPost
GroupPostVisibility
GroupPrivacy
GroupRole
GroupRoleTemplate
GroupSearchSort
GroupUserVisibility
InfoPush
InfoPushData
InfoPushDataArticle
InfoPushDataArticleContent
InfoPushDataClickable
Instance
InstancePlatforms
InstanceRegion
InstanceShortNameResponse
InstanceType
InviteMessage
InviteMessageType
InviteRequest
InviteResponse
License
LicenseAction
LicenseGroup
LicenseType
LimitedGroup
LimitedUnityPackage
LimitedUser
LimitedUserGroups
LimitedWorld
MIMEType
ModerateUserRequest
Notification
NotificationDetailInvite
NotificationDetailInviteResponse
NotificationDetailRequestInvite
NotificationDetailRequestInviteResponse
NotificationDetailVoteToKick
NotificationType
OrderOption
PaginatedGroupAuditLogEntryList
PastDisplayName
Permission
PlayerModeration
PlayerModerationType
Region
ReleaseStatus
RepresentedGroup
RequestInviteRequest
RespondGroupJoinRequest
Response
SentNotification
SortOption
Subscription
SubscriptionPeriod
Success
Transaction
TransactionAgreement
TransactionStatus
TransactionSteamInfo
TransactionSteamWalletInfo
TwoFactorAuthCode
TwoFactorEmailCode
UnityPackage
UpdateAvatarRequest
UpdateFavoriteGroupRequest
UpdateGroupGalleryRequest
UpdateGroupMemberRequest
UpdateGroupRequest
UpdateGroupRoleRequest
UpdateInviteMessageRequest
UpdateUserRequest
UpdateWorldRequest
User
UserExists
UserState
UserStatus
UserSubscription
Verify2FAEmailCodeResult
Verify2FAResult
VerifyAuthTokenResult
World
WorldMetadata
WorldPublishStatus
Documentation For Authorization #
Authentication schemes defined for the API:
authHeader #
Type: HTTP basic authentication
authCookie #
Type: API key
API key parameter name: auth
Location:
twoFactorAuthCookie #
Type: API key
API key parameter name: twoFactorAuth
Location:
Author #
[email protected]
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.