From e19aabb9ff300e3880f08abbf696c3326cdb3dcf Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 19:12:48 +0200 Subject: [PATCH 01/19] Remove missing nameOk field --- openapi/components/schemas/UserExists.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/openapi/components/schemas/UserExists.yaml b/openapi/components/schemas/UserExists.yaml index 6bb0d595..562f2f40 100644 --- a/openapi/components/schemas/UserExists.yaml +++ b/openapi/components/schemas/UserExists.yaml @@ -4,12 +4,7 @@ properties: default: false description: Status if a user exist with that username or userId. type: boolean - nameOk: - default: false - description: Is the username valid? - type: boolean required: - userExists - - nameOk title: UserExists type: object From 5d7a39c260753105c10a663864702ee3e157dc4e Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 19:25:22 +0200 Subject: [PATCH 02/19] Add optional world signature field --- openapi/components/schemas/UnityPackage.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openapi/components/schemas/UnityPackage.yaml b/openapi/components/schemas/UnityPackage.yaml index 5002b8ad..0ee94481 100644 --- a/openapi/components/schemas/UnityPackage.yaml +++ b/openapi/components/schemas/UnityPackage.yaml @@ -40,6 +40,9 @@ properties: example: 2022.3.6f1 minLength: 1 type: string + worldSignature: + example: 'AHiPAWerwCpeYrxDthF5TU2SdUWEWnm43UAn8PKRXlS8k8tVRQ==' + type: string impostorUrl: type: string nullable: true From 647c116f677faef50393b6c517351c63b9eda98f Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 19:25:29 +0200 Subject: [PATCH 03/19] Add store ID field --- openapi/components/schemas/World.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openapi/components/schemas/World.yaml b/openapi/components/schemas/World.yaml index cc911361..548e9038 100644 --- a/openapi/components/schemas/World.yaml +++ b/openapi/components/schemas/World.yaml @@ -90,6 +90,8 @@ properties: type: string releaseStatus: $ref: ./ReleaseStatus.yaml + storeId: + type: string tags: description: ' ' type: array @@ -137,6 +139,7 @@ required: - popularity - publicationDate - releaseStatus + - storeId - tags - thumbnailImageUrl - updated_at From b8c05878ff59de865c20ca77dd69f60a1aade3e3 Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 19:27:46 +0200 Subject: [PATCH 04/19] Remove non-existent self invite endpoint --- openapi/components/paths/instances.yaml | 19 ------------------- .../instances/InstanceSelfInviteSuccess.yaml | 11 ----------- 2 files changed, 30 deletions(-) delete mode 100644 openapi/components/responses/instances/InstanceSelfInviteSuccess.yaml diff --git a/openapi/components/paths/instances.yaml b/openapi/components/paths/instances.yaml index 52d44e37..c73e3489 100644 --- a/openapi/components/paths/instances.yaml +++ b/openapi/components/paths/instances.yaml @@ -100,25 +100,6 @@ paths: $ref: ../responses/instances/InstanceShortNameResponse.yaml '401': $ref: ../responses/MissingCredentialsError.yaml - '/instances/{worldId}:{instanceId}/invite': - parameters: - - $ref: ../parameters.yaml#/worldId - - $ref: ../parameters.yaml#/instanceId - post: - summary: Send Self Invite - tags: - - instances - operationId: sendSelfInvite - security: - - authCookie: [] - description: Sends an invite to the instance to yourself. - x-codeSamples: - $ref: "../codeSamples/instances.yaml#/~1instance~1{worldId}:{instanceId}~1invite/post" - responses: - '200': - $ref: ../responses/instances/InstanceSelfInviteSuccess.yaml - '401': - $ref: ../responses/MissingCredentialsError.yaml '/instances/s/{shortName}': parameters: - schema: diff --git a/openapi/components/responses/instances/InstanceSelfInviteSuccess.yaml b/openapi/components/responses/instances/InstanceSelfInviteSuccess.yaml deleted file mode 100644 index f2ed1a0a..00000000 --- a/openapi/components/responses/instances/InstanceSelfInviteSuccess.yaml +++ /dev/null @@ -1,11 +0,0 @@ -description: Success response after sending an invite to yourself to the instance. -content: - application/json: - schema: - $ref: ../../schemas/Success.yaml - examples: - 200 Ok: - value: - success: - message: "Ok" - status_code: 200 \ No newline at end of file From 1cfcbf43484a95088101b6bf11fb474589be1e53 Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 19:29:51 +0200 Subject: [PATCH 05/19] Change ShortName response to json --- .../responses/instances/InstanceShortNameResponse.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi/components/responses/instances/InstanceShortNameResponse.yaml b/openapi/components/responses/instances/InstanceShortNameResponse.yaml index d5f332a9..a0c60a48 100644 --- a/openapi/components/responses/instances/InstanceShortNameResponse.yaml +++ b/openapi/components/responses/instances/InstanceShortNameResponse.yaml @@ -1,5 +1,5 @@ description: Returns an instance secureName and/or shortName. content: - text/plain: + application/json: schema: $ref: ../../schemas/InstanceShortNameResponse.yaml \ No newline at end of file From 4811c327a65dd78e96e51cd7124d6182c58f5c07 Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 19:31:26 +0200 Subject: [PATCH 06/19] Add ios int --- openapi/components/schemas/InstancePlatforms.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openapi/components/schemas/InstancePlatforms.yaml b/openapi/components/schemas/InstancePlatforms.yaml index b5cefef0..97d4e705 100644 --- a/openapi/components/schemas/InstancePlatforms.yaml +++ b/openapi/components/schemas/InstancePlatforms.yaml @@ -9,6 +9,10 @@ properties: type: integer minimum: 0 example: 1 + ios: + type: integer + minimum: 0 + example: 1 standalonewindows: type: integer minimum: 0 From 0fc563e53c64100f3eaafd45f21639f2f9f97a45 Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 20:06:22 +0200 Subject: [PATCH 07/19] Add missing fields for instance --- openapi/components/schemas/Instance.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/openapi/components/schemas/Instance.yaml b/openapi/components/schemas/Instance.yaml index 49c1c0b6..ec01c348 100644 --- a/openapi/components/schemas/Instance.yaml +++ b/openapi/components/schemas/Instance.yaml @@ -22,15 +22,21 @@ properties: minLength: 1 deprecated: true description: Always returns "unknown". + displayName: + type: string full: default: false type: boolean + gameServerVersion: + type: integer id: $ref: ./InstanceID.yaml instanceId: type: string minLength: 1 example: 12345~hidden(usr_c1644b5b-3ca4-45b4-97c6-a2a0de70d469)~region(eu)~nonce(27e8414a-59a0-4f3d-af1f-f27557eb49a2) + instancePersistenceEnabled: + type: string location: $ref: ./InstanceID.yaml n_users: @@ -50,6 +56,8 @@ properties: $ref: ./Region.yaml platforms: $ref: ./InstancePlatforms.yaml + playerPersistenceEnabled: + type: string region: $ref: ./InstanceRegion.yaml secureName: @@ -123,15 +131,19 @@ required: - canRequestInvite - capacity - clientNumber + - displayName - full + - gameServerVersion - id - instanceId + - instancePersistenceEnabled - location - n_users - name - permanent - photonRegion - platforms + - playerPersistenceEnabled - region - secureName - tags From 440dcee75ed7636dda6bed9eb53dc8cc48c7e99d Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 20:08:37 +0200 Subject: [PATCH 08/19] Add nullability to fields --- openapi/components/schemas/Instance.yaml | 3 +++ openapi/components/schemas/UnityPackage.yaml | 1 + openapi/components/schemas/World.yaml | 1 + 3 files changed, 5 insertions(+) diff --git a/openapi/components/schemas/Instance.yaml b/openapi/components/schemas/Instance.yaml index ec01c348..9c5963b6 100644 --- a/openapi/components/schemas/Instance.yaml +++ b/openapi/components/schemas/Instance.yaml @@ -24,6 +24,7 @@ properties: description: Always returns "unknown". displayName: type: string + nullable: true full: default: false type: boolean @@ -37,6 +38,7 @@ properties: example: 12345~hidden(usr_c1644b5b-3ca4-45b4-97c6-a2a0de70d469)~region(eu)~nonce(27e8414a-59a0-4f3d-af1f-f27557eb49a2) instancePersistenceEnabled: type: string + nullable: true location: $ref: ./InstanceID.yaml n_users: @@ -58,6 +60,7 @@ properties: $ref: ./InstancePlatforms.yaml playerPersistenceEnabled: type: string + nullable: true region: $ref: ./InstanceRegion.yaml secureName: diff --git a/openapi/components/schemas/UnityPackage.yaml b/openapi/components/schemas/UnityPackage.yaml index 0ee94481..51a274f3 100644 --- a/openapi/components/schemas/UnityPackage.yaml +++ b/openapi/components/schemas/UnityPackage.yaml @@ -43,6 +43,7 @@ properties: worldSignature: example: 'AHiPAWerwCpeYrxDthF5TU2SdUWEWnm43UAn8PKRXlS8k8tVRQ==' type: string + nullable: true impostorUrl: type: string nullable: true diff --git a/openapi/components/schemas/World.yaml b/openapi/components/schemas/World.yaml index 548e9038..65f3d556 100644 --- a/openapi/components/schemas/World.yaml +++ b/openapi/components/schemas/World.yaml @@ -92,6 +92,7 @@ properties: $ref: ./ReleaseStatus.yaml storeId: type: string + nullable: true tags: description: ' ' type: array From 37895f2d9d2d502cd1081568f4e048cf1a9ed9f6 Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 20:13:54 +0200 Subject: [PATCH 09/19] Add acceptyedBy parameters to GetGroupInvites --- openapi/components/schemas/GroupMember.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openapi/components/schemas/GroupMember.yaml b/openapi/components/schemas/GroupMember.yaml index 327c0d38..733a3809 100644 --- a/openapi/components/schemas/GroupMember.yaml +++ b/openapi/components/schemas/GroupMember.yaml @@ -1,6 +1,10 @@ title: GroupMember type: object properties: + acceptedByDisplayName: + type: string + acceptedById: + $ref: ./UserID.yaml id: $ref: ./GroupMemberID.yaml groupId: From 0d0948af0750bdbdcbca6167eedc2418e0e0d7d5 Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 20:19:15 +0200 Subject: [PATCH 10/19] Add badges to group (no idea what the type is, seems to always return []) --- openapi/components/schemas/Group.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openapi/components/schemas/Group.yaml b/openapi/components/schemas/Group.yaml index 69cf3b4d..ae7d325b 100644 --- a/openapi/components/schemas/Group.yaml +++ b/openapi/components/schemas/Group.yaml @@ -1,6 +1,10 @@ title: Group type: object properties: + badges: + type: array + items: + type: string id: $ref: ./GroupID.yaml name: From a5aa38d28fb81f3d7573596f41524d456d209826 Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 20:21:58 +0200 Subject: [PATCH 11/19] Add some of the assigned permissions props, not the data obj though --- openapi/components/schemas/Permission.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/openapi/components/schemas/Permission.yaml b/openapi/components/schemas/Permission.yaml index 10b3f83e..61cb0ba3 100644 --- a/openapi/components/schemas/Permission.yaml +++ b/openapi/components/schemas/Permission.yaml @@ -1,5 +1,9 @@ description: '' properties: + displayName: + type: string + description: + type: string id: $ref: ./PermissionID.yaml ownerDisplayName: @@ -10,6 +14,8 @@ properties: type: string ownerId: $ref: ./UserID.yaml + type: + type: string data: type: object required: From 8af5a60b9639dcb53b5b513b1d7bcfc2eb90bd4f Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 20:44:33 +0200 Subject: [PATCH 12/19] Remove self invite path --- openapi/components/paths.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/openapi/components/paths.yaml b/openapi/components/paths.yaml index fe90a508..9e9f18e7 100644 --- a/openapi/components/paths.yaml +++ b/openapi/components/paths.yaml @@ -170,8 +170,6 @@ $ref: "./paths/instances.yaml#/paths/~1instances~1{worldId}:{instanceId}" "/instances/{worldId}:{instanceId}/shortName": $ref: "./paths/instances.yaml#/paths/~1instances~1{worldId}:{instanceId}~1shortName" -"/instances/{worldId}:{instanceId}/invite": - $ref: "./paths/instances.yaml#/paths/~1instances~1{worldId}:{instanceId}~1invite" "/instances/s/{shortName}": $ref: "./paths/instances.yaml#/paths/~1instances~1s~1{shortName}" From b5873a47bb720366f487645490399452cd96a14e Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 21:52:46 +0200 Subject: [PATCH 13/19] Add API Config docs --- openapi/components/schemas/APIConfig.yaml | 228 ++++++++++++++++++ .../schemas/APIConfigConstants.yaml | 99 ++++++++ .../components/schemas/PlatformBuildInfo.yaml | 13 + .../components/schemas/ReportCategory.yaml | 13 + openapi/components/schemas/ReportReason.yaml | 13 + 5 files changed, 366 insertions(+) create mode 100644 openapi/components/schemas/APIConfigConstants.yaml create mode 100644 openapi/components/schemas/PlatformBuildInfo.yaml create mode 100644 openapi/components/schemas/ReportCategory.yaml create mode 100644 openapi/components/schemas/ReportReason.yaml diff --git a/openapi/components/schemas/APIConfig.yaml b/openapi/components/schemas/APIConfig.yaml index a5774611..c17c6302 100644 --- a/openapi/components/schemas/APIConfig.yaml +++ b/openapi/components/schemas/APIConfig.yaml @@ -21,6 +21,12 @@ properties: minItems: 0 items: $ref: ./APIConfigAnnouncement.yaml + analyticsSegment_NewUI_PctOfUsers: + description: Unknown + type: integer + analyticsSegment_NewUI_Salt: + description: Unknown + type: string appName: default: VrChat deprecated: true @@ -41,6 +47,10 @@ properties: description: Build tag of the API server minLength: 1 type: string + chatboxLogBufferSeconds: + default: 40 + description: Unknown + type: integer clientApiKey: description: apiKey to be used for all other requests minLength: 1 @@ -57,6 +67,10 @@ properties: default: false description: Unknown type: boolean + clientNetDispatchThreadMobile: + default: true + description: Unknown + type: boolean clientNetInThread: default: false description: Unknown @@ -101,6 +115,8 @@ properties: default: 15 description: Unknown type: integer + constants: + $ref: ./APIConfigConstants.yaml contactEmail: description: VRChat's contact email minLength: 1 @@ -235,6 +251,14 @@ properties: type: integer events: $ref: ./APIConfigEvents.yaml + forceUseLatestWorld: + default: true + description: Unknown + type: boolean + googleApiClientId: + type: string + description: Unknown + default: "827942544393-r2ouvckvouldn9dg9uruseje575e878f.apps.googleusercontent.com" homeWorldId: $ref: ./WorldID.yaml homepageRedirectTarget: @@ -253,6 +277,48 @@ properties: description: VRChat's job application email minLength: 1 type: string + minSupportedClientBuildNumber: + type: object + description: Minimum supported client build number for various platforms + properties: + AppStore: + $ref: './PlatformBuildInfo.yaml' + Default: + $ref: './PlatformBuildInfo.yaml' + Firebase: + $ref: './PlatformBuildInfo.yaml' + FirebaseiOS: + $ref: './PlatformBuildInfo.yaml' + GooglePlay: + $ref: './PlatformBuildInfo.yaml' + PC: + $ref: './PlatformBuildInfo.yaml' + PicoStore: + $ref: './PlatformBuildInfo.yaml' + QuestAppLab: + $ref: './PlatformBuildInfo.yaml' + QuestStore: + $ref: './PlatformBuildInfo.yaml' + TestFlight: + $ref: './PlatformBuildInfo.yaml' + XRElite: + $ref: './PlatformBuildInfo.yaml' + required: + - AppStore + - Default + - Firebase + - FirebaseiOS + - GooglePlay + - PC + - PicoStore + - QuestAppLab + - QuestStore + - TestFlight + - XRElite + minimumUnityVersionForUploads: + type: string + description: Minimum Unity version required for uploading assets + default: "2019.0.0f1" moderationEmail: description: VRChat's moderation related email minLength: 1 @@ -261,6 +327,132 @@ properties: description: Used in-game to notify a user they aren't allowed to select avatars in private worlds minLength: 1 type: string + offlineAnalysis: + type: object + description: Whether to allow offline analysis + properties: + android: + type: boolean + description: Whether to allow offline analysis + default: true + standalonewindows: + type: boolean + description: Whether to allow offline analysis + default: true + photonNameserverOverrides: + type: array + description: Unknown + items: + type: string + photonPublicKeys: + type: array + description: Unknown + items: + type: string + reportCategories: + type: object + description: Categories available for reporting objectionable content + properties: + avatar: + $ref: './ReportCategory.yaml' + behavior: + $ref: './ReportCategory.yaml' + chat: + $ref: './ReportCategory.yaml' + environment: + $ref: './ReportCategory.yaml' + groupstore: + $ref: './ReportCategory.yaml' + image: + $ref: './ReportCategory.yaml' + text: + $ref: './ReportCategory.yaml' + warnings: + $ref: './ReportCategory.yaml' + worldimage: + $ref: './ReportCategory.yaml' + worldstore: + $ref: './ReportCategory.yaml' + required: + - avatar + - behavior + - chat + - environment + - groupstore + - image + - text + - warnings + - worldimage + - worldstore + reportFormUrl: + type: string + description: URL to the report form + default: "https://help.vrchat.com/hc/en-us/requests/new?ticket_form_id=1500000182242&tf_360056455174=user_report&tf_360057451993={userId}&tf_1500001445142={reportedId}&tf_subject={reason} {category} By {contentType} {reportedName}&tf_description={description}" + reportOptions: + type: object + description: Options for reporting content + reportReasons: + type: object + description: Reasons available for reporting users + properties: + billing: + $ref: './ReportReason.yaml' + botting: + $ref: './ReportReason.yaml' + cancellation: + $ref: './ReportReason.yaml' + gore: + $ref: './ReportReason.yaml' + hacking: + $ref: './ReportReason.yaml' + harassing: + $ref: './ReportReason.yaml' + hateful: + $ref: './ReportReason.yaml' + impersonation: + $ref: './ReportReason.yaml' + inappropriate: + $ref: './ReportReason.yaml' + leaking: + $ref: './ReportReason.yaml' + malicious: + $ref: './ReportReason.yaml' + missing: + $ref: './ReportReason.yaml' + nudity: + $ref: './ReportReason.yaml' + renewal: + $ref: './ReportReason.yaml' + security: + $ref: './ReportReason.yaml' + service: + $ref: './ReportReason.yaml' + sexual: + $ref: './ReportReason.yaml' + threatening: + $ref: './ReportReason.yaml' + visuals: + $ref: './ReportReason.yaml' + required: + - billing + - botting + - cancellation + - gore + - hacking + - harassing + - hateful + - impersonation + - inappropriate + - leaking + - malicious + - missing + - nudity + - renewal + - security + - service + - sexual + - threatening + - visuals sdkDeveloperFaqUrl: description: Link to the developer FAQ minLength: 1 @@ -290,6 +482,10 @@ properties: description: VRChat's support email minLength: 1 type: string + timekeeping: + type: boolean + description: Unknown + default: true timeOutWorldId: $ref: ./WorldID.yaml tutorialWorldId: @@ -335,21 +531,38 @@ properties: description: Currently used youtube-dl.exe hash in SHA1-delimited format minLength: 1 type: string + websocketMaxFriendsRefreshDelay: + type: integer + description: Unknown + default: 900 + websocketQuickReconnectTime: + type: integer + description: Unknown + default: 2 + websocketReconnectMaxDelay: + type: integer + description: Unknown + default: 2 required: - VoiceEnableDegradation - VoiceEnableReceiverLimiting - address - announcements + - analyticsSegment_NewUI_PctOfUsers + - analyticsSegment_NewUI_Salt - appName - availableLanguageCodes - availableLanguages - buildVersionTag + - chatboxLogBufferSeconds - clientApiKey - clientBPSCeiling + - clientNetDispatchThreadMobile - clientDisconnectTimeout - clientReservedPlayerBPS - clientSentCountAllowance - contactEmail + - constants - copyrightEmail - currentTOSVersion - defaultAvatar @@ -376,13 +589,24 @@ required: - downloadUrls - dynamicWorldRows - events + - forceUseLatestWorld + - googleApiClientId - homeWorldId - homepageRedirectTarget - hubWorldId - imageHostUrlList - jobsEmail + - minSupportedClientBuildNumber + - minimumUnityVersionForUploads - moderationEmail - notAllowedToSelectAvatarInPrivateWorldMessage + - offlineAnalysis + - photonNameserverOverrides + - photonPublicKeys + - reportCategories + - reportFormUrl + - reportOptions + - reportReasons - sdkDeveloperFaqUrl - sdkDiscordUrl - sdkNotAllowedToPublishMessage @@ -390,6 +614,7 @@ required: - serverName - stringHostUrlList - supportEmail + - timekeeping - timeOutWorldId - tutorialWorldId - updateRateMsMaximum @@ -403,3 +628,6 @@ required: - whiteListedAssetUrls - player-url-resolver-version - player-url-resolver-sha1 + - websocketMaxFriendsRefreshDelay + - websocketQuickReconnectTime + - websocketReconnectMaxDelay \ No newline at end of file diff --git a/openapi/components/schemas/APIConfigConstants.yaml b/openapi/components/schemas/APIConfigConstants.yaml new file mode 100644 index 00000000..b3e33dba --- /dev/null +++ b/openapi/components/schemas/APIConfigConstants.yaml @@ -0,0 +1,99 @@ +title: APIConfigConstants +type: object +description: Constants +properties: + GROUPS: + type: object + description: Group-related constants + properties: + CAPACITY: + type: integer + description: Maximum group capacity + default: 100000 + GROUP_TRANSFER_REQUIREMENTS: + type: array + description: Requirements for transferring group ownership + items: + type: string + description: Requirement for transferring group ownership + MAX_INVITES_REQUESTS: + type: integer + description: Maximum number of invite requests + default: 50 + MAX_JOINED: + type: integer + description: Maximum number of joined groups + default: 100 + MAX_JOINED_PLUS: + type: integer + description: Maximum number of joined groups for VRChat Plus members + default: 200 + MAX_LANGUAGES: + type: integer + description: Maximum number of supported languages + default: 10 + MAX_LINKS: + type: integer + description: Maximum number of group links + default: 3 + MAX_MANAGEMENT_ROLES: + type: integer + description: Maximum number of management roles in a group + default: 5 + MAX_OWNED: + type: integer + description: Maximum number of groups a user can own + default: 5 + MAX_ROLES: + type: integer + description: Maximum number of roles in a group + default: 50 + INSTANCE: + type: object + description: Instance-related constants + properties: + POPULATION_BRACKETS: + type: object + description: Population brackets based on instance population + properties: + CROWDED: + type: object + description: Crowded population range + properties: + max: + type: integer + description: Maximum population for a crowded instance + min: + type: integer + description: Minimum population for a crowded instance + FEW: + type: object + description: Few population range + properties: + max: + type: integer + description: Maximum population for a few instance + min: + type: integer + description: Minimum population for a few instance + MANY: + type: object + description: Many population range + properties: + max: + type: integer + description: Maximum population for a many instance + min: + type: integer + description: Minimum population for a many instance + LANGUAGE: + type: object + description: Language-related constants + properties: + SPOKEN_LANGUAGE_OPTIONS: + type: object + description: Supported spoken language options +required: + - GROUPS + - INSTANCE + - LANGUAGE \ No newline at end of file diff --git a/openapi/components/schemas/PlatformBuildInfo.yaml b/openapi/components/schemas/PlatformBuildInfo.yaml new file mode 100644 index 00000000..91e13b7d --- /dev/null +++ b/openapi/components/schemas/PlatformBuildInfo.yaml @@ -0,0 +1,13 @@ +PlatformBuildInfo: + type: object + description: Build information for a platform + properties: + minBuildNumber: + type: integer + description: Minimum build number required for the platform + redirectionAddress: + type: string + description: Redirection URL for updating the app + required: + - minBuildNumber + - redirectionAddress \ No newline at end of file diff --git a/openapi/components/schemas/ReportCategory.yaml b/openapi/components/schemas/ReportCategory.yaml new file mode 100644 index 00000000..bcd38714 --- /dev/null +++ b/openapi/components/schemas/ReportCategory.yaml @@ -0,0 +1,13 @@ +ReportCategory: + type: object + description: A category used for reporting objectionable content + properties: + text: + type: string + description: The label of the report category + tooltip: + type: string + description: The tooltip that describes the category + required: + - text + - tooltip \ No newline at end of file diff --git a/openapi/components/schemas/ReportReason.yaml b/openapi/components/schemas/ReportReason.yaml new file mode 100644 index 00000000..b91fbccf --- /dev/null +++ b/openapi/components/schemas/ReportReason.yaml @@ -0,0 +1,13 @@ +ReportReason: + type: object + description: A reason for reporting objectionable content + properties: + text: + type: string + description: The label or name of the report reason + tooltip: + type: string + description: A brief explanation of what this reason entails + required: + - text + - tooltip \ No newline at end of file From f7049403ba5b2f2ca2e1defd43386905c8ea6570 Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 21:53:49 +0200 Subject: [PATCH 14/19] Re-add nameok as optional --- openapi/components/schemas/UserExists.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openapi/components/schemas/UserExists.yaml b/openapi/components/schemas/UserExists.yaml index 562f2f40..1cb94c02 100644 --- a/openapi/components/schemas/UserExists.yaml +++ b/openapi/components/schemas/UserExists.yaml @@ -4,6 +4,10 @@ properties: default: false description: Status if a user exist with that username or userId. type: boolean + nameOk: + default: false + description: Is the username valid? + type: boolean required: - userExists title: UserExists From 433ad5e764874513b8e9c469e17f4eac7998cf45 Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 21:57:38 +0200 Subject: [PATCH 15/19] Remove unused self invite example --- openapi/components/codeSamples/instances.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/openapi/components/codeSamples/instances.yaml b/openapi/components/codeSamples/instances.yaml index e0e6b580..a7b60d6c 100644 --- a/openapi/components/codeSamples/instances.yaml +++ b/openapi/components/codeSamples/instances.yaml @@ -10,12 +10,6 @@ source: >- curl -X GET "https://vrchat.com/api/1/instances/{worldId}:{instanceId}/shortName" \ -b "auth={authCookie}" -'/instance/{worldId}:{instanceId}/invite': - post: - - lang: cURL - source: >- - curl -X POST "https://vrchat.com/api/1/instances/{worldId}:{instanceId}/invite" \ - -b "auth={authCookie}" '/instances/s/{shortname}': get: - lang: cURL From 198d9f6cfe1a2ba4006f2dd0a2531d1b5ee67a6b Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 22:00:24 +0200 Subject: [PATCH 16/19] Fix sub-schema format --- .../components/schemas/PlatformBuildInfo.yaml | 23 ++++++++----------- .../components/schemas/ReportCategory.yaml | 23 ++++++++----------- openapi/components/schemas/ReportReason.yaml | 23 ++++++++----------- 3 files changed, 30 insertions(+), 39 deletions(-) diff --git a/openapi/components/schemas/PlatformBuildInfo.yaml b/openapi/components/schemas/PlatformBuildInfo.yaml index 91e13b7d..418ad635 100644 --- a/openapi/components/schemas/PlatformBuildInfo.yaml +++ b/openapi/components/schemas/PlatformBuildInfo.yaml @@ -1,13 +1,10 @@ -PlatformBuildInfo: - type: object - description: Build information for a platform - properties: - minBuildNumber: - type: integer - description: Minimum build number required for the platform - redirectionAddress: - type: string - description: Redirection URL for updating the app - required: - - minBuildNumber - - redirectionAddress \ No newline at end of file +properties: + minBuildNumber: + type: integer + description: Minimum build number required for the platform + redirectionAddress: + type: string + description: Redirection URL for updating the app +required: + - minBuildNumber + - redirectionAddress \ No newline at end of file diff --git a/openapi/components/schemas/ReportCategory.yaml b/openapi/components/schemas/ReportCategory.yaml index bcd38714..64f94435 100644 --- a/openapi/components/schemas/ReportCategory.yaml +++ b/openapi/components/schemas/ReportCategory.yaml @@ -1,13 +1,10 @@ -ReportCategory: - type: object - description: A category used for reporting objectionable content - properties: - text: - type: string - description: The label of the report category - tooltip: - type: string - description: The tooltip that describes the category - required: - - text - - tooltip \ No newline at end of file +properties: + text: + type: string + description: The label of the report category + tooltip: + type: string + description: The tooltip that describes the category +required: + - text + - tooltip \ No newline at end of file diff --git a/openapi/components/schemas/ReportReason.yaml b/openapi/components/schemas/ReportReason.yaml index b91fbccf..383da440 100644 --- a/openapi/components/schemas/ReportReason.yaml +++ b/openapi/components/schemas/ReportReason.yaml @@ -1,13 +1,10 @@ -ReportReason: - type: object - description: A reason for reporting objectionable content - properties: - text: - type: string - description: The label or name of the report reason - tooltip: - type: string - description: A brief explanation of what this reason entails - required: - - text - - tooltip \ No newline at end of file +properties: + text: + type: string + description: The label or name of the report reason + tooltip: + type: string + description: A brief explanation of what this reason entails +required: + - text + - tooltip \ No newline at end of file From 28514cc57e49c509ceb570425db4835d84d3d5ed Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 22:55:27 +0200 Subject: [PATCH 17/19] Re-add needed types --- openapi/components/schemas/PlatformBuildInfo.yaml | 3 +++ openapi/components/schemas/ReportCategory.yaml | 3 +++ openapi/components/schemas/ReportReason.yaml | 3 +++ 3 files changed, 9 insertions(+) diff --git a/openapi/components/schemas/PlatformBuildInfo.yaml b/openapi/components/schemas/PlatformBuildInfo.yaml index 418ad635..33c95264 100644 --- a/openapi/components/schemas/PlatformBuildInfo.yaml +++ b/openapi/components/schemas/PlatformBuildInfo.yaml @@ -1,3 +1,6 @@ +title: PlatformBuildInfo +type: object +description: Build information for a platform properties: minBuildNumber: type: integer diff --git a/openapi/components/schemas/ReportCategory.yaml b/openapi/components/schemas/ReportCategory.yaml index 64f94435..649d3738 100644 --- a/openapi/components/schemas/ReportCategory.yaml +++ b/openapi/components/schemas/ReportCategory.yaml @@ -1,3 +1,6 @@ +title: ReportCategory +type: object +description: A category used for reporting content properties: text: type: string diff --git a/openapi/components/schemas/ReportReason.yaml b/openapi/components/schemas/ReportReason.yaml index 383da440..9544c982 100644 --- a/openapi/components/schemas/ReportReason.yaml +++ b/openapi/components/schemas/ReportReason.yaml @@ -1,3 +1,6 @@ +title: ReportReason +type: object +description: A reason used for reporting users properties: text: type: string From cc310805875d8905394a42c4430bfa539be0096a Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 23:04:18 +0200 Subject: [PATCH 18/19] Add storeId to LimitedWorld --- openapi/components/schemas/LimitedWorld.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openapi/components/schemas/LimitedWorld.yaml b/openapi/components/schemas/LimitedWorld.yaml index e888df1e..b9d0b003 100644 --- a/openapi/components/schemas/LimitedWorld.yaml +++ b/openapi/components/schemas/LimitedWorld.yaml @@ -64,6 +64,8 @@ properties: type: string releaseStatus: $ref: ./ReleaseStatus.yaml + storeId: + type: string tags: description: ' ' items: @@ -94,6 +96,7 @@ required: - imageUrl - thumbnailImageUrl - releaseStatus + - storeId - organization - tags - favorites From 9caa00379642e990cc2e40924dec81a438304f99 Mon Sep 17 00:00:00 2001 From: jellejurre Date: Sat, 28 Sep 2024 23:11:56 +0200 Subject: [PATCH 19/19] Make limited store id nullable --- openapi/components/schemas/LimitedWorld.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/openapi/components/schemas/LimitedWorld.yaml b/openapi/components/schemas/LimitedWorld.yaml index b9d0b003..7b644d19 100644 --- a/openapi/components/schemas/LimitedWorld.yaml +++ b/openapi/components/schemas/LimitedWorld.yaml @@ -66,6 +66,7 @@ properties: $ref: ./ReleaseStatus.yaml storeId: type: string + nullable: true tags: description: ' ' items: