diff --git a/openapi/components/parameters.yaml b/openapi/components/parameters.yaml index 7e70281d..170a4bbe 100644 --- a/openapi/components/parameters.yaml +++ b/openapi/components/parameters.yaml @@ -67,7 +67,6 @@ fileId: schema: type: string example: file_00000000-0000-0000-0000-000000000000 - pattern: 'file_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' description: Must be a valid file ID. groupId: name: groupId @@ -76,7 +75,6 @@ groupId: schema: type: string example: grp_00000000-0000-0000-0000-000000000000 - pattern: 'grp_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' description: Must be a valid group ID. groupRoleId: name: groupRoleId @@ -85,7 +83,6 @@ groupRoleId: schema: type: string example: grol_00000000-0000-0000-0000-000000000000 - pattern: 'grol_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' description: Must be a valid group role ID. groupGalleryId: name: groupGalleryId @@ -94,7 +91,6 @@ groupGalleryId: schema: type: string example: ggal_00000000-0000-0000-0000-000000000000 - pattern: 'ggal_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' description: Must be a valid group gallery ID. groupGalleryImageId: name: groupGalleryImageId @@ -103,7 +99,6 @@ groupGalleryImageId: schema: type: string example: ggim_00000000-0000-0000-0000-000000000000 - pattern: 'ggim_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' description: Must be a valid group gallery image ID. versionId: name: versionId diff --git a/openapi/components/paths/groups.yaml b/openapi/components/paths/groups.yaml index f17e6765..a71f1d90 100644 --- a/openapi/components/paths/groups.yaml +++ b/openapi/components/paths/groups.yaml @@ -5,6 +5,26 @@ info: description: Group Docs Here paths: /groups: + get: + summary: Search Group + description: Searches Groups by name or shortCode + operationId: searchGroups + tags: + - groups + parameters: + - in: query + name: query + schema: + type: string + required: false + description: Query to search for, can be either Group Name or Group shortCode + - $ref: ../parameters.yaml#/offset + - $ref: ../parameters.yaml#/number + responses: + '200': + $ref: ../responses/groups/LimitedGroupListResponse.yaml + '401': + $ref: ../responses/MissingCredentialsError.yaml post: summary: Create Group description: Creates a Group and returns a Group object. **Requires VRC+ Subscription.** diff --git a/openapi/components/requests/FinishFileDataUploadRequest.yaml b/openapi/components/requests/FinishFileDataUploadRequest.yaml index 2aa8ddf5..c902fec4 100644 --- a/openapi/components/requests/FinishFileDataUploadRequest.yaml +++ b/openapi/components/requests/FinishFileDataUploadRequest.yaml @@ -17,7 +17,6 @@ properties: deprecated: true description: 'Always a zero in string form, despite how many parts uploaded.' maxLength: 1 - pattern: '0' maxParts: type: string minLength: 1 @@ -26,7 +25,6 @@ properties: default: '0' example: '0' maxLength: 1 - pattern: '0' required: - nextPartNumber - maxParts \ No newline at end of file diff --git a/openapi/components/responses/groups/LimitedGroupListResponse.yaml b/openapi/components/responses/groups/LimitedGroupListResponse.yaml new file mode 100644 index 00000000..0923dff4 --- /dev/null +++ b/openapi/components/responses/groups/LimitedGroupListResponse.yaml @@ -0,0 +1,7 @@ +description: Returns a list of LimitedGroup objects. +content: + application/json: + schema: + type: array + items: + $ref: ../../schemas/LimitedGroup.yaml \ No newline at end of file diff --git a/openapi/components/schemas/AvatarID.yaml b/openapi/components/schemas/AvatarID.yaml index 0d8381a3..218ab03e 100644 --- a/openapi/components/schemas/AvatarID.yaml +++ b/openapi/components/schemas/AvatarID.yaml @@ -1,4 +1,3 @@ example: avtr_912d66a4-4714-43b8-8407-7de2cafbf55b -pattern: 'avtr_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: AvatarID type: string diff --git a/openapi/components/schemas/CurrentUser.yaml b/openapi/components/schemas/CurrentUser.yaml index 5bfe61a5..d467223e 100644 --- a/openapi/components/schemas/CurrentUser.yaml +++ b/openapi/components/schemas/CurrentUser.yaml @@ -3,6 +3,10 @@ properties: minimum: 0 example: 7 type: integer + acceptedPrivacyVersion: + minimum: 0 + example: 0 + type: integer accountDeletionDate: format: date nullable: true @@ -35,6 +39,10 @@ properties: $ref: ./CurrentAvatarImageUrl.yaml currentAvatarThumbnailImageUrl: $ref: ./CurrentAvatarThumbnailImageUrl.yaml + currentAvatarTags: + type: array + items: + $ref: ./Tag.yaml date_joined: format: date type: string @@ -60,6 +68,14 @@ properties: type: array hasBirthday: type: boolean + hideContentFilterSettings: + type: boolean + userLanguage: + nullable: true + type: string + userLanguageCode: + nullable: true + type: string hasEmail: type: boolean hasLoggedInFromClient: @@ -73,6 +89,9 @@ properties: isFriend: default: false type: boolean + last_activity: + format: date-time + type: string last_login: format: date-time type: string @@ -84,6 +103,12 @@ properties: type: string oculusId: type: string + googleId: + type: string + picoId: + type: string + viveId: + type: string offlineFriends: items: $ref: ./UserID.yaml @@ -97,6 +122,8 @@ properties: items: $ref: ./PastDisplayName.yaml type: array + presence: + $ref: ./CurrentUserPresence.yaml profilePicOverride: type: string state: @@ -127,6 +154,9 @@ properties: type: string unsubscribe: type: boolean + updated_at: + format: date-time + type: string userIcon: type: string username: diff --git a/openapi/components/schemas/CurrentUserPresence.yaml b/openapi/components/schemas/CurrentUserPresence.yaml new file mode 100644 index 00000000..d73b5f07 --- /dev/null +++ b/openapi/components/schemas/CurrentUserPresence.yaml @@ -0,0 +1,45 @@ +title: CurrentUserPresence +type: object +properties: + avatarThumbnail: + type: string + nullable: true + displayName: + type: string + groups: + type: array + nullable: true + items: + $ref: ./GroupID.yaml + id: + $ref: ./UserID.yaml + instance: + type: string + nullable: true + instanceType: + type: string + description: either an InstanceType or an empty string + nullable: true + isRejoining: + type: string + nullable: true + platform: + type: string + description: either a Platform or an empty string + nullable: true + profilePicOverride: + type: string + nullable: true + status: + type: string + description: either a UserStatus or empty string + nullable: true + travelingToInstance: + type: string + nullable: true + travelingToWorld: + $ref: ./WorldID.yaml + nullable: true + world: + $ref: ./WorldID.yaml + nullable: true diff --git a/openapi/components/schemas/FavoriteGroupID.yaml b/openapi/components/schemas/FavoriteGroupID.yaml index abf2f5e3..f5b1adcb 100644 --- a/openapi/components/schemas/FavoriteGroupID.yaml +++ b/openapi/components/schemas/FavoriteGroupID.yaml @@ -1,4 +1,3 @@ example: fvgrp_8a02a44b-dc3a-4a9a-bc77-77fa37996fc7 -pattern: 'fvgrp_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: FavoriteGroupID type: string diff --git a/openapi/components/schemas/FavoriteID.yaml b/openapi/components/schemas/FavoriteID.yaml index db0abd31..3eee5c47 100644 --- a/openapi/components/schemas/FavoriteID.yaml +++ b/openapi/components/schemas/FavoriteID.yaml @@ -1,4 +1,3 @@ example: fvrt_9568d189-8776-44a5-a8c8-defc981e44de -pattern: 'fvrt_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: FavoriteID type: string diff --git a/openapi/components/schemas/FileID.yaml b/openapi/components/schemas/FileID.yaml index dce51bc8..1caa5805 100644 --- a/openapi/components/schemas/FileID.yaml +++ b/openapi/components/schemas/FileID.yaml @@ -1,4 +1,3 @@ example: file_ce35d830-e20a-4df0-a6d4-5aaef4508044 -pattern: 'file_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: FileID type: string diff --git a/openapi/components/schemas/GroupAnnouncementID.yaml b/openapi/components/schemas/GroupAnnouncementID.yaml index 1b30cce8..bed1b121 100644 --- a/openapi/components/schemas/GroupAnnouncementID.yaml +++ b/openapi/components/schemas/GroupAnnouncementID.yaml @@ -1,4 +1,3 @@ example: gpos_71a7ff59-112c-4e78-a990-c7cc650776e5 -pattern: 'gpos_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: GroupAnnouncementID type: string diff --git a/openapi/components/schemas/GroupAuditLogID.yaml b/openapi/components/schemas/GroupAuditLogID.yaml index c2297ddb..65c2f70b 100644 --- a/openapi/components/schemas/GroupAuditLogID.yaml +++ b/openapi/components/schemas/GroupAuditLogID.yaml @@ -1,4 +1,3 @@ example: gaud_71a7ff59-112c-4e78-a990-c7cc650776e5 -pattern: 'gaud_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: GroupAuditLogID type: string diff --git a/openapi/components/schemas/GroupDiscriminator.yaml b/openapi/components/schemas/GroupDiscriminator.yaml index 8cb609c8..2fafaf43 100644 --- a/openapi/components/schemas/GroupDiscriminator.yaml +++ b/openapi/components/schemas/GroupDiscriminator.yaml @@ -1,4 +1,3 @@ example: '1234' -pattern: '^[0-9]{4}$' title: GroupDiscriminator type: string diff --git a/openapi/components/schemas/GroupGalleryID.yaml b/openapi/components/schemas/GroupGalleryID.yaml index 08ce83f1..abf17e3b 100644 --- a/openapi/components/schemas/GroupGalleryID.yaml +++ b/openapi/components/schemas/GroupGalleryID.yaml @@ -1,4 +1,3 @@ example: ggal_a03a4b55-4ca6-4490-9519-40ba6351a233 -pattern: 'ggal_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: GroupGalleryID type: string diff --git a/openapi/components/schemas/GroupGalleryImageID.yaml b/openapi/components/schemas/GroupGalleryImageID.yaml index 923fbaa4..38f03b55 100644 --- a/openapi/components/schemas/GroupGalleryImageID.yaml +++ b/openapi/components/schemas/GroupGalleryImageID.yaml @@ -1,4 +1,3 @@ example: ggim_71a7ff59-112c-4e78-a990-c7cc650776e5 -pattern: 'ggim_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: GroupGalleryImageID type: string diff --git a/openapi/components/schemas/GroupID.yaml b/openapi/components/schemas/GroupID.yaml index 2b0f6a8c..cce852c2 100644 --- a/openapi/components/schemas/GroupID.yaml +++ b/openapi/components/schemas/GroupID.yaml @@ -1,4 +1,3 @@ example: grp_71a7ff59-112c-4e78-a990-c7cc650776e5 -pattern: 'grp_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: GroupID type: string diff --git a/openapi/components/schemas/GroupMemberID.yaml b/openapi/components/schemas/GroupMemberID.yaml index 897d73aa..0dc3cc05 100644 --- a/openapi/components/schemas/GroupMemberID.yaml +++ b/openapi/components/schemas/GroupMemberID.yaml @@ -1,4 +1,3 @@ example: gmem_95cdb3b4-4643-4eb6-bdab-46a4e1e5ce37 -pattern: 'gmem_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: GroupMemberID type: string diff --git a/openapi/components/schemas/GroupRoleID.yaml b/openapi/components/schemas/GroupRoleID.yaml index 29bb1449..ca6c93ee 100644 --- a/openapi/components/schemas/GroupRoleID.yaml +++ b/openapi/components/schemas/GroupRoleID.yaml @@ -1,4 +1,3 @@ example: grol_459d3911-f672-44bc-b84d-e54ffe7960fe -pattern: 'grol_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: GroupRoleID type: string diff --git a/openapi/components/schemas/GroupShortCode.yaml b/openapi/components/schemas/GroupShortCode.yaml index 48944873..a9661482 100644 --- a/openapi/components/schemas/GroupShortCode.yaml +++ b/openapi/components/schemas/GroupShortCode.yaml @@ -1,4 +1,3 @@ example: ABC123 -pattern: '^[A-Z0-9]{3,6}$' title: GroupShortCode type: string diff --git a/openapi/components/schemas/InstanceID.yaml b/openapi/components/schemas/InstanceID.yaml index 08d7c5c5..b9a596af 100644 --- a/openapi/components/schemas/InstanceID.yaml +++ b/openapi/components/schemas/InstanceID.yaml @@ -1,5 +1,4 @@ type: string -example: 'wrld_ba913a96-fac4-4048-a062-9aa5db092812:12345~hidden(usr_c1644b5b-3ca4-45b4-97c6-a2a0de70d469)~region(eu)~nonce(27e8414a-59a0-4f3d-af1f-f27557eb49a2)' -pattern: '(private|offline|(wrld|wld)_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}:(\d+)(~region\(([\w]+)\))?(~([\w]+)\(usr_([\w-]+)\)((\~canRequestInvite)?)(~region\(([\w].+)\))?~nonce\((.+)\))?)' +example: '12345~hidden(usr_c1644b5b-3ca4-45b4-97c6-a2a0de70d469)~region(eu)~nonce(27e8414a-59a0-4f3d-af1f-f27557eb49a2)' title: InstanceID description: InstanceID can be "offline" on User profiles if you are not friends with that user and "private" if you are friends and user is in private instance. diff --git a/openapi/components/schemas/InstanceType.yaml b/openapi/components/schemas/InstanceType.yaml index a9b1db60..3f137836 100644 --- a/openapi/components/schemas/InstanceType.yaml +++ b/openapi/components/schemas/InstanceType.yaml @@ -6,4 +6,5 @@ enum: - hidden - friends - private + - group description: '' diff --git a/openapi/components/schemas/InviteMessageID.yaml b/openapi/components/schemas/InviteMessageID.yaml index f0f68608..f0895894 100644 --- a/openapi/components/schemas/InviteMessageID.yaml +++ b/openapi/components/schemas/InviteMessageID.yaml @@ -1,4 +1,3 @@ example: invm_24a1c14d-5e24-48e5-90e3-c3f712420ffa -pattern: '(default|invm_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})' title: InviteMessageID type: string diff --git a/openapi/components/schemas/License.yaml b/openapi/components/schemas/License.yaml index 4f95dc7f..d4f7fa8f 100644 --- a/openapi/components/schemas/License.yaml +++ b/openapi/components/schemas/License.yaml @@ -5,7 +5,6 @@ properties: type: string description: 'Either a AvatarID, LicenseGroupID, PermissionID or ProductID. This depends on the `forType` field.' minLength: 1 - pattern: '(avtr|lgrp|prms|prod)_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' forType: $ref: ./LicenseType.yaml forName: diff --git a/openapi/components/schemas/LicenseGroupID.yaml b/openapi/components/schemas/LicenseGroupID.yaml index 50038a6d..1b94a6db 100644 --- a/openapi/components/schemas/LicenseGroupID.yaml +++ b/openapi/components/schemas/LicenseGroupID.yaml @@ -1,4 +1,3 @@ example: lgrp_608513da-b213-4e15-80af-bd88c27f0979 -pattern: 'lgrp_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: LicenseGroupID type: string diff --git a/openapi/components/schemas/LimitedGroup.yaml b/openapi/components/schemas/LimitedGroup.yaml new file mode 100644 index 00000000..8383b0f8 --- /dev/null +++ b/openapi/components/schemas/LimitedGroup.yaml @@ -0,0 +1,49 @@ +title: LimitedGroup +type: object +properties: + id: + $ref: ./GroupID.yaml + name: + type: string + shortCode: + $ref: ./GroupShortCode.yaml + discriminator: + $ref: ./GroupDiscriminator.yaml + description: + type: string + iconUrl: + type: string + nullable: true + bannerUrl: + type: string + nullable: true + ownerId: + $ref: ./UserID.yaml + rules: + type: string + nullable: true + iconId: + type: string + nullable: true + bannerId: + type: string + nullable: true + memberCount: + type: integer + tags: + description: ' ' + type: array + items: + $ref: ./Tag.yaml + createdAt: + type: string + format: date-time + membershipStatus: + $ref: ./GroupMemberStatus.yaml + isSearchable: + type: boolean + galleries: + description: ' ' + type: array + items: + $ref: ./GroupGallery.yaml diff --git a/openapi/components/schemas/LimitedUser.yaml b/openapi/components/schemas/LimitedUser.yaml index 075f88de..ca8d72bf 100644 --- a/openapi/components/schemas/LimitedUser.yaml +++ b/openapi/components/schemas/LimitedUser.yaml @@ -48,7 +48,6 @@ required: - statusDescription - currentAvatarImageUrl - currentAvatarThumbnailImageUrl - - fallbackAvatar - developerType - last_platform - status diff --git a/openapi/components/schemas/LimitedWorld.yaml b/openapi/components/schemas/LimitedWorld.yaml index 1d8a0a6e..9e819e10 100644 --- a/openapi/components/schemas/LimitedWorld.yaml +++ b/openapi/components/schemas/LimitedWorld.yaml @@ -7,8 +7,9 @@ properties: type: string capacity: example: 8 - maximum: 40 - minimum: 0 + type: integer + recommendedCapacity: + example: 16 type: integer created_at: format: date-time @@ -72,6 +73,10 @@ properties: updated_at: format: date-time type: string + udonProducts: + type: array + items: + $ref: ./UdonProductId.yaml required: - id - name diff --git a/openapi/components/schemas/NotificationID.yaml b/openapi/components/schemas/NotificationID.yaml index 88b0f73d..79534912 100644 --- a/openapi/components/schemas/NotificationID.yaml +++ b/openapi/components/schemas/NotificationID.yaml @@ -1,4 +1,3 @@ example: not_00000000-0000-0000-0000-000000000000 -pattern: '(not|frq)_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: NotificationID type: string diff --git a/openapi/components/schemas/PermissionID.yaml b/openapi/components/schemas/PermissionID.yaml index 33042402..944ce64b 100644 --- a/openapi/components/schemas/PermissionID.yaml +++ b/openapi/components/schemas/PermissionID.yaml @@ -1,4 +1,3 @@ example: prms_804ba021-9f47-4e25-9847-1f42fdb2e6ff -pattern: 'prms_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: PermissionID type: string diff --git a/openapi/components/schemas/PlayerModerationID.yaml b/openapi/components/schemas/PlayerModerationID.yaml index b685d3ca..ad81eb4f 100644 --- a/openapi/components/schemas/PlayerModerationID.yaml +++ b/openapi/components/schemas/PlayerModerationID.yaml @@ -1,4 +1,3 @@ example: pmod_25551a8d-6f5d-430a-88d3-9c0ce08b5244 -pattern: 'pmod_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: PlayerModerationID type: string diff --git a/openapi/components/schemas/ProductID.yaml b/openapi/components/schemas/ProductID.yaml index 7593b475..210c5f21 100644 --- a/openapi/components/schemas/ProductID.yaml +++ b/openapi/components/schemas/ProductID.yaml @@ -1,4 +1,3 @@ example: prod_bfbc2315-247a-44d7-bfea-5237f8d56cb4 -pattern: 'prod_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: ProductID type: string diff --git a/openapi/components/schemas/TransactionID.yaml b/openapi/components/schemas/TransactionID.yaml index 43583a23..8c316912 100644 --- a/openapi/components/schemas/TransactionID.yaml +++ b/openapi/components/schemas/TransactionID.yaml @@ -1,4 +1,3 @@ example: txn_e5c72948-e735-4880-8245-24b2a41198b0 -pattern: 'txn_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: TransactionID type: string diff --git a/openapi/components/schemas/UdonProductId.yaml b/openapi/components/schemas/UdonProductId.yaml new file mode 100644 index 00000000..55d5933c --- /dev/null +++ b/openapi/components/schemas/UdonProductId.yaml @@ -0,0 +1,4 @@ +example: prod_c1644b5b-3ca4-45b4-97c6-a2a0de70d469 +title: UdonProductId +type: string +description: 'A unique ID of a Udon Product' diff --git a/openapi/components/schemas/UnityPackage.yaml b/openapi/components/schemas/UnityPackage.yaml index b4997363..64cf9bbf 100644 --- a/openapi/components/schemas/UnityPackage.yaml +++ b/openapi/components/schemas/UnityPackage.yaml @@ -11,9 +11,12 @@ example: unitySortNumber: 20180414000 unityVersion: 2018.4.14f1 properties: + id: + $ref: ./UnityPackageID.yaml assetUrl: minLength: 1 type: string + nullable: true assetUrlObject: type: object assetVersion: @@ -22,8 +25,6 @@ properties: created_at: format: date-time type: string - id: - $ref: ./UnityPackageID.yaml platform: $ref: ./Platform.yaml pluginUrl: @@ -39,6 +40,11 @@ properties: example: 2018.4.12f1 minLength: 1 type: string + impostorUrl: + type: string + nullable: true + scanStatus: + type: string required: - id - unityVersion diff --git a/openapi/components/schemas/UnityPackageID.yaml b/openapi/components/schemas/UnityPackageID.yaml index 907acf9f..4314636e 100644 --- a/openapi/components/schemas/UnityPackageID.yaml +++ b/openapi/components/schemas/UnityPackageID.yaml @@ -1,4 +1,3 @@ example: unp_52b12c39-4163-457d-a4a9-630e7aff1bff -pattern: '(unp)_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}' title: UnityPackageID type: string diff --git a/openapi/components/schemas/World.yaml b/openapi/components/schemas/World.yaml index f99b2529..7e32c0a4 100644 --- a/openapi/components/schemas/World.yaml +++ b/openapi/components/schemas/World.yaml @@ -9,8 +9,9 @@ properties: type: string capacity: example: 8 - maximum: 40 - minimum: 0 + type: integer + recommendedCapacity: + example: 4 type: integer created_at: format: date-time @@ -115,10 +116,15 @@ properties: example: 9988675 minimum: 0 type: integer + udonProducts: + type: array + items: + $ref: ./UdonProductId.yaml required: - authorId - authorName - capacity + - recommendedCapacity - created_at - description - featured @@ -134,7 +140,6 @@ required: - releaseStatus - tags - thumbnailImageUrl - - unityPackages - updated_at - version - visits diff --git a/openapi/components/schemas/WorldID.yaml b/openapi/components/schemas/WorldID.yaml index 7a1d368c..b8125e91 100644 --- a/openapi/components/schemas/WorldID.yaml +++ b/openapi/components/schemas/WorldID.yaml @@ -1,5 +1,4 @@ example: wrld_ba913a96-fac4-4048-a062-9aa5db092812 -pattern: '(^$|offline|(wrld|wld)_[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})' title: WorldID type: string description: WorldID be "offline" on User profiles if you are not friends with that user. diff --git a/openapi/openapi.yaml b/openapi/openapi.yaml index 710fb982..681e58d4 100644 --- a/openapi/openapi.yaml +++ b/openapi/openapi.yaml @@ -1,18 +1,18 @@ openapi: 3.0.3 info: title: VRChat API Documentation - version: 1.12.0 + version: 1.16.2 contact: name: Unofficial VRChat API Documentation Project - url: 'https://github.com/VRChatAPI' + url: "https://github.com/VRChatAPI" email: vrchatapi.lpv0t@aries.fyi - termsOfService: 'https://vrchat.com/legal/' + termsOfService: "https://vrchat.com/legal/" license: - url: 'https://github.com/vrchatapi/specification/blob/master/LICENSE' + url: "https://github.com/vrchatapi/specification/blob/master/LICENSE" name: MIT description: "![VRChat API Banner](https://vrchatapi.github.io/assets/img/api_banner_1500x400.png)\n\n# Welcome to the VRChat API\n\nBefore we begin, we would like to state this is a **COMMUNITY DRIVEN PROJECT**.\nThis means that everything you read on here was written by the community itself and is **not** officially supported by VRChat.\nThe documentation is provided \"AS IS\", and any action you take towards VRChat is completely your own responsibility.\n\nThe documentation and additional libraries SHALL ONLY be used for applications interacting with VRChat's API in accordance\nwith their [Terms of Service](https://hello.vrchat.com/legal) and [Community Guidelines](https://hello.vrchat.com/community-guidelines), and MUST NOT be used for modifying the client, \"avatar ripping\", or other illegal activities.\nMalicious usage or spamming the API may result in account termination.\nCertain parts of the API are also more sensitive than others, for example moderation, so please tread extra carefully and read the warnings when present.\n\n![Tupper Policy on API](https://i.imgur.com/yLlW7Ok.png)\n\nFinally, use of the API using applications other than the approved methods (website, VRChat application, Unity SDK) is not officially supported.\nVRChat provides no guarantee or support for external applications using the API. Access to API endpoints may break **at any time, without notice**.\nTherefore, please **do not ping** VRChat Staff in the VRChat Discord if you are having API problems, as they do not provide API support.\nWe will make a best effort in keeping this documentation and associated language libraries up to date, but things might be outdated or missing.\nIf you find that something is no longer valid, please contact us on Discord or [create an issue](https://github.com/vrchatapi/specification/issues) and tell us so we can fix it.\n\n# Getting Started\n\nThe VRChat API can be used to programmatically retrieve or update information regarding your profile, friends, avatars, worlds and more.\nThe 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.\nThis documentation focuses only on the Web API.\n\nThe API is designed around the REST ideology, providing semi-simple and usually predictable URIs to access and modify objects.\nRequests support standard HTTP methods like GET, PUT, POST, and DELETE and standard status codes.\nResponse bodies are always UTF-8 encoded JSON objects, unless explicitly documented otherwise.\n\n
JlE5Jldo5Jibnk5O5hTx6XVqsJu4WJ26
.\n Read Authentication for how to log in.\n