From 87e2c20d293cee4c84b5bf92dda386301ca791b0 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 19:38:07 +0200 Subject: [PATCH 01/30] POC Websocket types --- .../schemas/WebsocketClearNotification.yaml | 2 + .../schemas/WebsocketContentRefresh.yaml | 9 +++ .../schemas/WebsocketFriendActive.yaml | 1 + .../schemas/WebsocketFriendAdd.yaml | 1 + .../schemas/WebsocketFriendDelete.yaml | 1 + .../schemas/WebsocketFriendLocation.yaml | 1 + .../schemas/WebsocketFriendOffline.yaml | 1 + .../schemas/WebsocketFriendOnline.yaml | 1 + .../schemas/WebsocketFriendUpdate.yaml | 1 + .../schemas/WebsocketGroupJoined.yaml | 1 + .../schemas/WebsocketGroupLeft.yaml | 1 + .../schemas/WebsocketGroupMemberUpdated.yaml | 1 + .../schemas/WebsocketGroupRoleUpdated.yaml | 1 + .../schemas/WebsocketHideNotification.yaml | 1 + .../schemas/WebsocketInstanceQueueJoined.yaml | 1 + .../schemas/WebsocketInstanceQueueReady.yaml | 1 + .../components/schemas/WebsocketMessage.yaml | 71 +++++++++++++++++++ .../schemas/WebsocketNotification.yaml | 59 +++++++++++++++ .../schemas/WebsocketNotificationV2.yaml | 1 + .../WebsocketNotificationV2Delete.yaml | 1 + .../WebsocketNotificationV2Update.yaml | 1 + .../WebsocketResponseNotification.yaml | 14 ++++ .../schemas/WebsocketSeeNotification.yaml | 14 ++++ .../schemas/WebsocketUserBadgeAssigned.yaml | 1 + .../schemas/WebsocketUserBadgeUnassigned.yaml | 1 + .../schemas/WebsocketUserLocation.yaml | 1 + .../schemas/WebsocketUserUpdate.yaml | 1 + openapi/components/schemas/_index.yaml | 4 ++ openapi/openapi.yaml | 2 +- 29 files changed, 195 insertions(+), 1 deletion(-) create mode 100644 openapi/components/schemas/WebsocketClearNotification.yaml create mode 100644 openapi/components/schemas/WebsocketContentRefresh.yaml create mode 100644 openapi/components/schemas/WebsocketFriendActive.yaml create mode 100644 openapi/components/schemas/WebsocketFriendAdd.yaml create mode 100644 openapi/components/schemas/WebsocketFriendDelete.yaml create mode 100644 openapi/components/schemas/WebsocketFriendLocation.yaml create mode 100644 openapi/components/schemas/WebsocketFriendOffline.yaml create mode 100644 openapi/components/schemas/WebsocketFriendOnline.yaml create mode 100644 openapi/components/schemas/WebsocketFriendUpdate.yaml create mode 100644 openapi/components/schemas/WebsocketGroupJoined.yaml create mode 100644 openapi/components/schemas/WebsocketGroupLeft.yaml create mode 100644 openapi/components/schemas/WebsocketGroupMemberUpdated.yaml create mode 100644 openapi/components/schemas/WebsocketGroupRoleUpdated.yaml create mode 100644 openapi/components/schemas/WebsocketHideNotification.yaml create mode 100644 openapi/components/schemas/WebsocketInstanceQueueJoined.yaml create mode 100644 openapi/components/schemas/WebsocketInstanceQueueReady.yaml create mode 100644 openapi/components/schemas/WebsocketMessage.yaml create mode 100644 openapi/components/schemas/WebsocketNotification.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationV2.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationV2Delete.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationV2Update.yaml create mode 100644 openapi/components/schemas/WebsocketResponseNotification.yaml create mode 100644 openapi/components/schemas/WebsocketSeeNotification.yaml create mode 100644 openapi/components/schemas/WebsocketUserBadgeAssigned.yaml create mode 100644 openapi/components/schemas/WebsocketUserBadgeUnassigned.yaml create mode 100644 openapi/components/schemas/WebsocketUserLocation.yaml create mode 100644 openapi/components/schemas/WebsocketUserUpdate.yaml diff --git a/openapi/components/schemas/WebsocketClearNotification.yaml b/openapi/components/schemas/WebsocketClearNotification.yaml new file mode 100644 index 00000000..cce7ce1c --- /dev/null +++ b/openapi/components/schemas/WebsocketClearNotification.yaml @@ -0,0 +1,2 @@ +title: WebsocketClearNotification +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketContentRefresh.yaml b/openapi/components/schemas/WebsocketContentRefresh.yaml new file mode 100644 index 00000000..79527ff7 --- /dev/null +++ b/openapi/components/schemas/WebsocketContentRefresh.yaml @@ -0,0 +1,9 @@ +title: WebsocketContentRefresh +type: object +properties: + content_type: +#Todo: Add proper enum + type: string + action_type: +#Todo: Add proper enum + type: string \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendActive.yaml b/openapi/components/schemas/WebsocketFriendActive.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendActive.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendAdd.yaml b/openapi/components/schemas/WebsocketFriendAdd.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendAdd.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendDelete.yaml b/openapi/components/schemas/WebsocketFriendDelete.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendDelete.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendLocation.yaml b/openapi/components/schemas/WebsocketFriendLocation.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendLocation.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendOffline.yaml b/openapi/components/schemas/WebsocketFriendOffline.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendOffline.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendOnline.yaml b/openapi/components/schemas/WebsocketFriendOnline.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendOnline.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendUpdate.yaml b/openapi/components/schemas/WebsocketFriendUpdate.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendUpdate.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupJoined.yaml b/openapi/components/schemas/WebsocketGroupJoined.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketGroupJoined.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupLeft.yaml b/openapi/components/schemas/WebsocketGroupLeft.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketGroupLeft.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml b/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketHideNotification.yaml b/openapi/components/schemas/WebsocketHideNotification.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketHideNotification.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml b/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketMessage.yaml b/openapi/components/schemas/WebsocketMessage.yaml new file mode 100644 index 00000000..09931707 --- /dev/null +++ b/openapi/components/schemas/WebsocketMessage.yaml @@ -0,0 +1,71 @@ +title: WebsocketMessage +type: object +properties: + type: + type: string + content: + type: string + description: JSON-encoded object. + contentMediaType: application/json + x-if: + when: jsonschema + then: + contentSchema: + oneOf: + - $ref: ./WebsocketNotification.yaml + - $ref: ./WebsocketResponseNotification.yaml + - $ref: ./WebsocketSeeNotification.yaml + - $ref: ./WebsocketHideNotification.yaml + - $ref: ./WebsocketClearNotification.yaml + - $ref: ./WebsocketNotificationV2.yaml + - $ref: ./WebsocketNotificationV2Update.yaml + - $ref: ./WebsocketNotificationV2Delete.yaml + - $ref: ./WebsocketFriendAdd.yaml + - $ref: ./WebsocketFriendDelete.yaml + - $ref: ./WebsocketFriendOnline.yaml + - $ref: ./WebsocketFriendActive.yaml + - $ref: ./WebsocketFriendOffline.yaml + - $ref: ./WebsocketFriendUpdate.yaml + - $ref: ./WebsocketFriendLocation.yaml + - $ref: ./WebsocketUserUpdate.yaml + - $ref: ./WebsocketUserLocation.yaml + - $ref: ./WebsocketUserBadgeAssigned.yaml + - $ref: ./WebsocketUserBadgeUnassigned.yaml + - $ref: ./WebsocketContentRefresh.yaml + - $ref: ./WebsocketInstanceQueueJoined.yaml + - $ref: ./WebsocketInstanceQueueReady.yaml + - $ref: ./WebsocketGroupJoined.yaml + - $ref: ./WebsocketGroupLeft.yaml + - $ref: ./WebsocketGroupMemberUpdated.yaml + - $ref: ./WebsocketGroupRoleUpdated.yaml + discriminator: + propertyName: type + mapping: + notification: ./WebsocketNotification.yaml + response-notification: ./WebsocketResponseNotification.yaml + see-notification: ./WebsocketSeeNotification.yaml + hide-notification: ./WebsocketHideNotification.yaml + clear-notification: ./WebsocketNotification.yaml + notification-v2: ./WebsocketNotificationV2.yaml + notification-v2-update: ./WebsocketNotificationV2Update.yaml + notification-v2-delete: ./WebsocketNotificationV2Delete.yaml + friend-add: ./WebsocketFriendAdd.yaml + friend-delete: ./WebsocketFriendDelete.yaml + friend-online: ./WebsocketFriendOnline.yaml + friend-active: ./WebsocketFriendActive.yaml + friend-offline: ./WebsocketFriendOffline.yaml + friend-update: ./WebsocketFriendUpdate.yaml + friend-location: ./WebsocketFriendLocation.yaml + user-update: ./WebsocketUserUpdate.yaml + user-location: ./WebsocketUserLocation.yaml + user-badge-assigned: ./WebsocketUserBadgeAssigned.yaml + user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml + content-refresh: ./WebsocketContentRefresh.yaml + instance-queue-joined: ./WebsocketInstanceQueueJoined.yaml + instance-queue-ready: ./WebsocketInstanceQueueReady.yaml + group-joined: ./WebsocketGroupJoined.yaml + group-left: ./WebsocketGroupLeft.yaml + group-member-updated: ./WebsocketGroupMemberUpdated.yaml + group-role-updated: ./WebsocketGroupRoleUpdated.yaml +required: + - type \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketNotification.yaml b/openapi/components/schemas/WebsocketNotification.yaml new file mode 100644 index 00000000..d9b06c78 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotification.yaml @@ -0,0 +1,59 @@ +title: WebsocketNotification +type: object +description: "" +properties: + created_at: + type: string + format: date-time + details: + x-if: + when: jsonschema + then: + oneOf: + - $ref: ./NotificationDetailBoop.yaml + - $ref: ./NotificationDetailInvite.yaml + - $ref: ./NotificationDetailInviteResponse.yaml + - $ref: ./NotificationDetailRequestInvite.yaml + - $ref: ./NotificationDetailRequestInviteResponse.yaml + - $ref: ./NotificationDetailVoteToKick.yaml + discriminator: + propertyName: type + mapping: + boop: ./NotificationDetailBoop.yaml + invite: ./NotificationDetailInvite.yaml + invite-response: ./NotificationDetailInviteResponse.yaml + request-invite: ./NotificationDetailRequestInvite.yaml + request-invite-response: ./NotificationDetailRequestInviteResponse.yaml + vote-to-kick: ./NotificationDetailVoteToKick.yaml + else: + type: object + id: + type: string + minLength: 1 + message: + type: string + description: "" + example: This is a generated invite to VRChat Hub + receiverUserId: + $ref: ./UserID.yaml + description: Not included in notification objects received from the REST API + seen: + type: boolean + description: Not included in notification objects received from the Websocket API + default: false + senderUserId: + $ref: ./UserID.yaml + senderUsername: + type: string + description: The name of the user who sent the notification. + nullable: true + minLength: 1 + type: + $ref: ./NotificationType.yaml +required: + - created_at + - details + - id + - message + - senderUserId + - type diff --git a/openapi/components/schemas/WebsocketNotificationV2.yaml b/openapi/components/schemas/WebsocketNotificationV2.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationV2.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketNotificationV2Delete.yaml b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketNotificationV2Update.yaml b/openapi/components/schemas/WebsocketNotificationV2Update.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationV2Update.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketResponseNotification.yaml b/openapi/components/schemas/WebsocketResponseNotification.yaml new file mode 100644 index 00000000..587bf911 --- /dev/null +++ b/openapi/components/schemas/WebsocketResponseNotification.yaml @@ -0,0 +1,14 @@ +title: WebsocketResponseNotification +type: object +description: "" +properties: + notification_id: + type: string + receiver_id: + type: string + response_id: + type: string +required: + - notification_id + - receiver_id + - response_id diff --git a/openapi/components/schemas/WebsocketSeeNotification.yaml b/openapi/components/schemas/WebsocketSeeNotification.yaml new file mode 100644 index 00000000..ff68dd6d --- /dev/null +++ b/openapi/components/schemas/WebsocketSeeNotification.yaml @@ -0,0 +1,14 @@ +title: WebsocketSeeNotification +type: object +description: "" +properties: + notification_id: + type: string + receiver_id: + type: string + response_id: + type: string +required: + - notification_id + - receiver_id + - response_id diff --git a/openapi/components/schemas/WebsocketUserBadgeAssigned.yaml b/openapi/components/schemas/WebsocketUserBadgeAssigned.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketUserBadgeAssigned.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketUserBadgeUnassigned.yaml b/openapi/components/schemas/WebsocketUserBadgeUnassigned.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketUserBadgeUnassigned.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketUserLocation.yaml b/openapi/components/schemas/WebsocketUserLocation.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketUserLocation.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketUserUpdate.yaml b/openapi/components/schemas/WebsocketUserUpdate.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketUserUpdate.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index 41423318..9566aff1 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -8,3 +8,7 @@ NotificationDetailRequestInviteResponse: $ref: ./NotificationDetailRequestInviteResponse.yaml NotificationDetailVoteToKick: $ref: ./NotificationDetailVoteToKick.yaml +WebsocketMessage: + $ref: ./WebsocketMessage.yaml +WebsocketNotification: + $ref: ./WebsocketNotification.yaml \ No newline at end of file diff --git a/openapi/openapi.yaml b/openapi/openapi.yaml index 43285413..a9f08c5d 100644 --- a/openapi/openapi.yaml +++ b/openapi/openapi.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.3 +openapi: 3.1.0 info: title: VRChat API Documentation version: 1.21.0 From 051f92ac6f8fa8dd9d564c56fab06cd6075178f7 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 20:13:45 +0200 Subject: [PATCH 02/30] POC v2 Websocket types --- .../schemas/WebsocketHideNotification.yaml | 4 +- .../components/schemas/WebsocketMessage.yaml | 78 ++------------- .../schemas/WebsocketMessageDoubleJson.yaml | 95 +++++++++++++++++++ .../schemas/WebsocketMessageNormal.yaml | 26 +++++ .../schemas/WebsocketSeeNotification.yaml | 15 +-- 5 files changed, 134 insertions(+), 84 deletions(-) create mode 100644 openapi/components/schemas/WebsocketMessageDoubleJson.yaml create mode 100644 openapi/components/schemas/WebsocketMessageNormal.yaml diff --git a/openapi/components/schemas/WebsocketHideNotification.yaml b/openapi/components/schemas/WebsocketHideNotification.yaml index d73ddd15..6ec16212 100644 --- a/openapi/components/schemas/WebsocketHideNotification.yaml +++ b/openapi/components/schemas/WebsocketHideNotification.yaml @@ -1 +1,3 @@ -type: object \ No newline at end of file +title: WebsocketHideNotification +type: string +description: "Notification-Id" \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketMessage.yaml b/openapi/components/schemas/WebsocketMessage.yaml index 09931707..e0ff5776 100644 --- a/openapi/components/schemas/WebsocketMessage.yaml +++ b/openapi/components/schemas/WebsocketMessage.yaml @@ -1,71 +1,9 @@ title: WebsocketMessage -type: object -properties: - type: - type: string - content: - type: string - description: JSON-encoded object. - contentMediaType: application/json - x-if: - when: jsonschema - then: - contentSchema: - oneOf: - - $ref: ./WebsocketNotification.yaml - - $ref: ./WebsocketResponseNotification.yaml - - $ref: ./WebsocketSeeNotification.yaml - - $ref: ./WebsocketHideNotification.yaml - - $ref: ./WebsocketClearNotification.yaml - - $ref: ./WebsocketNotificationV2.yaml - - $ref: ./WebsocketNotificationV2Update.yaml - - $ref: ./WebsocketNotificationV2Delete.yaml - - $ref: ./WebsocketFriendAdd.yaml - - $ref: ./WebsocketFriendDelete.yaml - - $ref: ./WebsocketFriendOnline.yaml - - $ref: ./WebsocketFriendActive.yaml - - $ref: ./WebsocketFriendOffline.yaml - - $ref: ./WebsocketFriendUpdate.yaml - - $ref: ./WebsocketFriendLocation.yaml - - $ref: ./WebsocketUserUpdate.yaml - - $ref: ./WebsocketUserLocation.yaml - - $ref: ./WebsocketUserBadgeAssigned.yaml - - $ref: ./WebsocketUserBadgeUnassigned.yaml - - $ref: ./WebsocketContentRefresh.yaml - - $ref: ./WebsocketInstanceQueueJoined.yaml - - $ref: ./WebsocketInstanceQueueReady.yaml - - $ref: ./WebsocketGroupJoined.yaml - - $ref: ./WebsocketGroupLeft.yaml - - $ref: ./WebsocketGroupMemberUpdated.yaml - - $ref: ./WebsocketGroupRoleUpdated.yaml - discriminator: - propertyName: type - mapping: - notification: ./WebsocketNotification.yaml - response-notification: ./WebsocketResponseNotification.yaml - see-notification: ./WebsocketSeeNotification.yaml - hide-notification: ./WebsocketHideNotification.yaml - clear-notification: ./WebsocketNotification.yaml - notification-v2: ./WebsocketNotificationV2.yaml - notification-v2-update: ./WebsocketNotificationV2Update.yaml - notification-v2-delete: ./WebsocketNotificationV2Delete.yaml - friend-add: ./WebsocketFriendAdd.yaml - friend-delete: ./WebsocketFriendDelete.yaml - friend-online: ./WebsocketFriendOnline.yaml - friend-active: ./WebsocketFriendActive.yaml - friend-offline: ./WebsocketFriendOffline.yaml - friend-update: ./WebsocketFriendUpdate.yaml - friend-location: ./WebsocketFriendLocation.yaml - user-update: ./WebsocketUserUpdate.yaml - user-location: ./WebsocketUserLocation.yaml - user-badge-assigned: ./WebsocketUserBadgeAssigned.yaml - user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml - content-refresh: ./WebsocketContentRefresh.yaml - instance-queue-joined: ./WebsocketInstanceQueueJoined.yaml - instance-queue-ready: ./WebsocketInstanceQueueReady.yaml - group-joined: ./WebsocketGroupJoined.yaml - group-left: ./WebsocketGroupLeft.yaml - group-member-updated: ./WebsocketGroupMemberUpdated.yaml - group-role-updated: ./WebsocketGroupRoleUpdated.yaml -required: - - type \ No newline at end of file +x-if: + when: jsonschema + then: + oneOf: + - $ref: ./WebsocketMessageNormal.yaml + - $ref: ./WebsocketMessageDoubleJson.yaml + else: + type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml new file mode 100644 index 00000000..0f47ab9b --- /dev/null +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -0,0 +1,95 @@ +title: WebsocketMessageDoubleJson +type: object +properties: + type: + type: string + enum: + - notification + - response-notification + - notification-v2 + - notification-v2-update + - notification-v2-delete + - friend-add + - friend-delete + - friend-online + - friend-active + - friend-offline + - friend-update + - friend-location + - user-update + - user-location + - user-badge-assigned + - user-badge-unassigned + - content-refresh + - instance-queue-joined + - instance-queue-ready + - group-joined + - group-left + - group-member-updated + - group-role-updated + content: + type: string + description: JSON-encoded object. + contentMediaType: application/json + x-if: + when: jsonschema + then: + contentSchema: + oneOf: + - $ref: ./WebsocketNotification.yaml + - $ref: ./WebsocketResponseNotification.yaml + - $ref: ./WebsocketSeeNotification.yaml + - $ref: ./WebsocketHideNotification.yaml + - $ref: ./WebsocketClearNotification.yaml + - $ref: ./WebsocketNotificationV2.yaml + - $ref: ./WebsocketNotificationV2Update.yaml + - $ref: ./WebsocketNotificationV2Delete.yaml + - $ref: ./WebsocketFriendAdd.yaml + - $ref: ./WebsocketFriendDelete.yaml + - $ref: ./WebsocketFriendOnline.yaml + - $ref: ./WebsocketFriendActive.yaml + - $ref: ./WebsocketFriendOffline.yaml + - $ref: ./WebsocketFriendUpdate.yaml + - $ref: ./WebsocketFriendLocation.yaml + - $ref: ./WebsocketUserUpdate.yaml + - $ref: ./WebsocketUserLocation.yaml + - $ref: ./WebsocketUserBadgeAssigned.yaml + - $ref: ./WebsocketUserBadgeUnassigned.yaml + - $ref: ./WebsocketContentRefresh.yaml + - $ref: ./WebsocketInstanceQueueJoined.yaml + - $ref: ./WebsocketInstanceQueueReady.yaml + - $ref: ./WebsocketGroupJoined.yaml + - $ref: ./WebsocketGroupLeft.yaml + - $ref: ./WebsocketGroupMemberUpdated.yaml + - $ref: ./WebsocketGroupRoleUpdated.yaml + discriminator: + propertyName: type + mapping: + notification: ./WebsocketNotification.yaml + response-notification: ./WebsocketResponseNotification.yaml + see-notification: ./WebsocketSeeNotification.yaml + hide-notification: ./WebsocketHideNotification.yaml + clear-notification: ./WebsocketNotification.yaml + notification-v2: ./WebsocketNotificationV2.yaml + notification-v2-update: ./WebsocketNotificationV2Update.yaml + notification-v2-delete: ./WebsocketNotificationV2Delete.yaml + friend-add: ./WebsocketFriendAdd.yaml + friend-delete: ./WebsocketFriendDelete.yaml + friend-online: ./WebsocketFriendOnline.yaml + friend-active: ./WebsocketFriendActive.yaml + friend-offline: ./WebsocketFriendOffline.yaml + friend-update: ./WebsocketFriendUpdate.yaml + friend-location: ./WebsocketFriendLocation.yaml + user-update: ./WebsocketUserUpdate.yaml + user-location: ./WebsocketUserLocation.yaml + user-badge-assigned: ./WebsocketUserBadgeAssigned.yaml + user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml + content-refresh: ./WebsocketContentRefresh.yaml + instance-queue-joined: ./WebsocketInstanceQueueJoined.yaml + instance-queue-ready: ./WebsocketInstanceQueueReady.yaml + group-joined: ./WebsocketGroupJoined.yaml + group-left: ./WebsocketGroupLeft.yaml + group-member-updated: ./WebsocketGroupMemberUpdated.yaml + group-role-updated: ./WebsocketGroupRoleUpdated.yaml +required: + - type \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml new file mode 100644 index 00000000..6d7e2bfb --- /dev/null +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -0,0 +1,26 @@ +title: WebsocketMessageNormal +type: object +properties: + type: + type: string + enum: + - see-notification + - hide-notification + - clear-notification + content: + x-if: + when: jsonschema + then: + oneOf: + - $ref: ./WebsocketSeeNotification.yaml + - $ref: ./WebsocketHideNotification.yaml + - $ref: ./WebsocketClearNotification.yaml + discriminator: + propertyName: type + mapping: + see-notification: ./WebsocketSeeNotification.yaml + hide-notification: ./WebsocketHideNotification.yaml + clear-notification: ./WebsocketNotification.yaml +required: + - type + - content \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketSeeNotification.yaml b/openapi/components/schemas/WebsocketSeeNotification.yaml index ff68dd6d..0146d514 100644 --- a/openapi/components/schemas/WebsocketSeeNotification.yaml +++ b/openapi/components/schemas/WebsocketSeeNotification.yaml @@ -1,14 +1,3 @@ title: WebsocketSeeNotification -type: object -description: "" -properties: - notification_id: - type: string - receiver_id: - type: string - response_id: - type: string -required: - - notification_id - - receiver_id - - response_id +type: string +description: "Notification-Id" \ No newline at end of file From de8d757729bd1d57a5a6af656547099b22a50fcc Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 20:24:17 +0200 Subject: [PATCH 03/30] Notification types --- .../schemas/WebsocketContentRefresh.yaml | 6 +++--- .../schemas/WebsocketMessageDoubleJson.yaml | 4 ++-- .../schemas/WebsocketNotificationV2.yaml | 1 - .../schemas/WebsocketNotificationV2Delete.yaml | 11 ++++++++++- .../schemas/WebsocketNotificationV2Update.yaml | 15 ++++++++++++++- 5 files changed, 29 insertions(+), 8 deletions(-) delete mode 100644 openapi/components/schemas/WebsocketNotificationV2.yaml diff --git a/openapi/components/schemas/WebsocketContentRefresh.yaml b/openapi/components/schemas/WebsocketContentRefresh.yaml index 79527ff7..4d2466f4 100644 --- a/openapi/components/schemas/WebsocketContentRefresh.yaml +++ b/openapi/components/schemas/WebsocketContentRefresh.yaml @@ -1,9 +1,9 @@ title: WebsocketContentRefresh type: object properties: - content_type: + action_type: #Todo: Add proper enum type: string - action_type: + content_type: #Todo: Add proper enum - type: string \ No newline at end of file + type: string diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 0f47ab9b..4d0b0b42 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -41,7 +41,7 @@ properties: - $ref: ./WebsocketSeeNotification.yaml - $ref: ./WebsocketHideNotification.yaml - $ref: ./WebsocketClearNotification.yaml - - $ref: ./WebsocketNotificationV2.yaml + - $ref: ./NotificationV2.yaml - $ref: ./WebsocketNotificationV2Update.yaml - $ref: ./WebsocketNotificationV2Delete.yaml - $ref: ./WebsocketFriendAdd.yaml @@ -70,7 +70,7 @@ properties: see-notification: ./WebsocketSeeNotification.yaml hide-notification: ./WebsocketHideNotification.yaml clear-notification: ./WebsocketNotification.yaml - notification-v2: ./WebsocketNotificationV2.yaml + notification-v2: ./NotificationV2.yaml notification-v2-update: ./WebsocketNotificationV2Update.yaml notification-v2-delete: ./WebsocketNotificationV2Delete.yaml friend-add: ./WebsocketFriendAdd.yaml diff --git a/openapi/components/schemas/WebsocketNotificationV2.yaml b/openapi/components/schemas/WebsocketNotificationV2.yaml deleted file mode 100644 index d73ddd15..00000000 --- a/openapi/components/schemas/WebsocketNotificationV2.yaml +++ /dev/null @@ -1 +0,0 @@ -type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketNotificationV2Delete.yaml b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml index d73ddd15..b3c50fa1 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Delete.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml @@ -1 +1,10 @@ -type: object \ No newline at end of file +title: WebsocketNotificationV2Delete +type: object +properties: + id: + type: string + version: + type: integer +required: + - id + - version \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketNotificationV2Update.yaml b/openapi/components/schemas/WebsocketNotificationV2Update.yaml index d73ddd15..ea289fbf 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Update.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Update.yaml @@ -1 +1,14 @@ -type: object \ No newline at end of file +title: WebsocketNotificationV2Update +type: object +properties: + id: + type: string + version: + type: integer + updates: + #Todo: type this better + type: object +required: + - id + - version + - updates \ No newline at end of file From ad02a7b92cf2abb82ec32fd248c44b1726acfdd2 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 20:35:23 +0200 Subject: [PATCH 04/30] Friend types --- .../schemas/WebsocketFriendAdd.yaml | 11 ++++++++- .../schemas/WebsocketFriendDelete.yaml | 8 ++++++- .../schemas/WebsocketFriendLocation.yaml | 23 ++++++++++++++++++- .../schemas/WebsocketFriendOffline.yaml | 11 ++++++++- .../schemas/WebsocketFriendOnline.yaml | 18 ++++++++++++++- .../schemas/WebsocketFriendUpdate.yaml | 11 ++++++++- .../schemas/WebsocketHideNotification.yaml | 4 +--- .../WebsocketNotificationV2Delete.yaml | 2 +- .../WebsocketNotificationV2Update.yaml | 2 +- .../WebsocketResponseNotification.yaml | 16 ++++++------- .../schemas/WebsocketSeeNotification.yaml | 4 +--- 11 files changed, 88 insertions(+), 22 deletions(-) diff --git a/openapi/components/schemas/WebsocketFriendAdd.yaml b/openapi/components/schemas/WebsocketFriendAdd.yaml index d73ddd15..3bcfc73a 100644 --- a/openapi/components/schemas/WebsocketFriendAdd.yaml +++ b/openapi/components/schemas/WebsocketFriendAdd.yaml @@ -1 +1,10 @@ -type: object \ No newline at end of file +title: WebsocketFriendAdd +type: object +properties: + userId: + $ref: ./UserID.yaml + user: + $ref: ./User.yaml +required: + - userId + - user \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendDelete.yaml b/openapi/components/schemas/WebsocketFriendDelete.yaml index d73ddd15..8ab5b40a 100644 --- a/openapi/components/schemas/WebsocketFriendDelete.yaml +++ b/openapi/components/schemas/WebsocketFriendDelete.yaml @@ -1 +1,7 @@ -type: object \ No newline at end of file +title: WebsocketFriendDelete +type: object +properties: + userId: + $ref: ./UserID.yaml +required: + - userId \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendLocation.yaml b/openapi/components/schemas/WebsocketFriendLocation.yaml index d73ddd15..40fbe863 100644 --- a/openapi/components/schemas/WebsocketFriendLocation.yaml +++ b/openapi/components/schemas/WebsocketFriendLocation.yaml @@ -1 +1,22 @@ -type: object \ No newline at end of file +title: WebsocketFriendLocation +type: object +properties: + canRequestInvite: + type: boolean + location: + $ref: ./LocationID.yaml + user: + $ref: ./User.yaml + userId: + $ref: ./UserID.yaml + travelingToLocation: + $ref: ./LocationID.yaml + worldId: + $ref: ./WorldID.yaml +required: + - canRequestInvite + - location + - user + - userId + - travelingToLocation + - worldId \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendOffline.yaml b/openapi/components/schemas/WebsocketFriendOffline.yaml index d73ddd15..9751c51c 100644 --- a/openapi/components/schemas/WebsocketFriendOffline.yaml +++ b/openapi/components/schemas/WebsocketFriendOffline.yaml @@ -1 +1,10 @@ -type: object \ No newline at end of file +title: WebsocketFriendOffline +type: object +properties: + userId: + $ref: ./UserID.yaml + platform: + $ref: ./Platform.yaml +required: + - userId + - platform \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendOnline.yaml b/openapi/components/schemas/WebsocketFriendOnline.yaml index d73ddd15..544f9d36 100644 --- a/openapi/components/schemas/WebsocketFriendOnline.yaml +++ b/openapi/components/schemas/WebsocketFriendOnline.yaml @@ -1 +1,17 @@ -type: object \ No newline at end of file +title: WebsocketFriendOnline +type: object +properties: + canRequestInvite: + type: boolean + userId: + $ref: ./UserID.yaml + location: + $ref: ./LocationID.yaml + platform: + $ref: ./Platform.yaml + +required: + - canRequestInvite + - location + - userId + - platform \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendUpdate.yaml b/openapi/components/schemas/WebsocketFriendUpdate.yaml index d73ddd15..c7dc946a 100644 --- a/openapi/components/schemas/WebsocketFriendUpdate.yaml +++ b/openapi/components/schemas/WebsocketFriendUpdate.yaml @@ -1 +1,10 @@ -type: object \ No newline at end of file +title: WebsocketFriendUpdate +type: object +properties: + userId: + $ref: ./UserID.yaml + user: + $ref: ./User.yaml +required: + - userId + - user \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketHideNotification.yaml b/openapi/components/schemas/WebsocketHideNotification.yaml index 6ec16212..a9b84a05 100644 --- a/openapi/components/schemas/WebsocketHideNotification.yaml +++ b/openapi/components/schemas/WebsocketHideNotification.yaml @@ -1,3 +1 @@ -title: WebsocketHideNotification -type: string -description: "Notification-Id" \ No newline at end of file +$ref: ./NotificationID.yaml \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketNotificationV2Delete.yaml b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml index b3c50fa1..a5486bca 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Delete.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml @@ -2,7 +2,7 @@ title: WebsocketNotificationV2Delete type: object properties: id: - type: string + $ref: ./NotificationID.yaml version: type: integer required: diff --git a/openapi/components/schemas/WebsocketNotificationV2Update.yaml b/openapi/components/schemas/WebsocketNotificationV2Update.yaml index ea289fbf..0bb0cfa2 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Update.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Update.yaml @@ -2,7 +2,7 @@ title: WebsocketNotificationV2Update type: object properties: id: - type: string + $ref: ./NotificationID.yaml version: type: integer updates: diff --git a/openapi/components/schemas/WebsocketResponseNotification.yaml b/openapi/components/schemas/WebsocketResponseNotification.yaml index 587bf911..08f5c2c2 100644 --- a/openapi/components/schemas/WebsocketResponseNotification.yaml +++ b/openapi/components/schemas/WebsocketResponseNotification.yaml @@ -2,13 +2,13 @@ title: WebsocketResponseNotification type: object description: "" properties: - notification_id: - type: string - receiver_id: - type: string - response_id: + notificationId: type: string + receiverId: + $ref: ./UserID.yaml + responseId: + $ref: ./UserID.yaml required: - - notification_id - - receiver_id - - response_id + - notificationId + - receiverId + - responseId diff --git a/openapi/components/schemas/WebsocketSeeNotification.yaml b/openapi/components/schemas/WebsocketSeeNotification.yaml index 0146d514..a9b84a05 100644 --- a/openapi/components/schemas/WebsocketSeeNotification.yaml +++ b/openapi/components/schemas/WebsocketSeeNotification.yaml @@ -1,3 +1 @@ -title: WebsocketSeeNotification -type: string -description: "Notification-Id" \ No newline at end of file +$ref: ./NotificationID.yaml \ No newline at end of file From 6c14578d47c32a44ada483df5ebfeab59e188963 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 20:43:28 +0200 Subject: [PATCH 05/30] Rest of the types --- .../schemas/WebsocketGroupJoined.yaml | 8 +++++++- .../schemas/WebsocketGroupLeft.yaml | 8 +++++++- .../schemas/WebsocketGroupMemberUpdated.yaml | 8 +++++++- .../schemas/WebsocketGroupRoleUpdated.yaml | 8 +++++++- .../schemas/WebsocketInstanceQueueJoined.yaml | 11 +++++++++- .../schemas/WebsocketInstanceQueueReady.yaml | 12 ++++++++++- .../schemas/WebsocketUserBadgeAssigned.yaml | 8 +++++++- .../schemas/WebsocketUserBadgeUnassigned.yaml | 8 +++++++- .../schemas/WebsocketUserLocation.yaml | 20 ++++++++++++++++++- .../schemas/WebsocketUserUpdate.yaml | 11 +++++++++- 10 files changed, 92 insertions(+), 10 deletions(-) diff --git a/openapi/components/schemas/WebsocketGroupJoined.yaml b/openapi/components/schemas/WebsocketGroupJoined.yaml index d73ddd15..ba989f2d 100644 --- a/openapi/components/schemas/WebsocketGroupJoined.yaml +++ b/openapi/components/schemas/WebsocketGroupJoined.yaml @@ -1 +1,7 @@ -type: object \ No newline at end of file +title: WebsocketGroupJoined +type: object +properties: + groupId: + $ref: ./GroupID.yaml +requires: + - groupId \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupLeft.yaml b/openapi/components/schemas/WebsocketGroupLeft.yaml index d73ddd15..77ecc750 100644 --- a/openapi/components/schemas/WebsocketGroupLeft.yaml +++ b/openapi/components/schemas/WebsocketGroupLeft.yaml @@ -1 +1,7 @@ -type: object \ No newline at end of file +title: WebsocketGroupLeft +type: object +properties: + groupId: + $ref: ./GroupID.yaml +requires: + - groupId \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml index d73ddd15..eace76ee 100644 --- a/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml +++ b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml @@ -1 +1,7 @@ -type: object \ No newline at end of file +title: WebsocketGroupMemberUpdated +type: object +properties: + member: + $ref: ./GroupMemberLimitedUser.yaml +requires: + - member \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml b/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml index d73ddd15..41207053 100644 --- a/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml +++ b/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml @@ -1 +1,7 @@ -type: object \ No newline at end of file +title: WebsocketGroupRoleUpdated +type: object +properties: + role: + $ref: ./GroupRole.yaml +requires: + - role \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml b/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml index d73ddd15..d3df6b77 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml @@ -1 +1,10 @@ -type: object \ No newline at end of file +title: WebsocketInstanceQueueJoined +type: object +properties: + location: + $ref: ./LocationID.yaml + position: + type: integer +required: + - location + - position \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml index d73ddd15..59bca8a4 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml @@ -1 +1,11 @@ -type: object \ No newline at end of file +title: WebsocketInstanceQueueJoined +type: object +properties: + location: + $ref: ./LocationID.yaml + expiry: + type: string + format: date-time +required: + - location + - position \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketUserBadgeAssigned.yaml b/openapi/components/schemas/WebsocketUserBadgeAssigned.yaml index d73ddd15..ee4b61ea 100644 --- a/openapi/components/schemas/WebsocketUserBadgeAssigned.yaml +++ b/openapi/components/schemas/WebsocketUserBadgeAssigned.yaml @@ -1 +1,7 @@ -type: object \ No newline at end of file +title: WebsocketUserBadgeAssigned +type: object +properties: + badge: + $ref: ./Badge.yaml +required: + - badge diff --git a/openapi/components/schemas/WebsocketUserBadgeUnassigned.yaml b/openapi/components/schemas/WebsocketUserBadgeUnassigned.yaml index d73ddd15..d95332a7 100644 --- a/openapi/components/schemas/WebsocketUserBadgeUnassigned.yaml +++ b/openapi/components/schemas/WebsocketUserBadgeUnassigned.yaml @@ -1 +1,7 @@ -type: object \ No newline at end of file +title: WebsocketUserBadgeUnassigned +type: object +properties: + badgeId: + $ref: ./BadgeID.yaml +required: + - badgeId diff --git a/openapi/components/schemas/WebsocketUserLocation.yaml b/openapi/components/schemas/WebsocketUserLocation.yaml index d73ddd15..862a5183 100644 --- a/openapi/components/schemas/WebsocketUserLocation.yaml +++ b/openapi/components/schemas/WebsocketUserLocation.yaml @@ -1 +1,19 @@ -type: object \ No newline at end of file +title: WebsocketUserLocation +type: object +properties: + instance: + $ref: ./InstanceID.yaml + location: + $ref: ./LocationID.yaml + user: + $ref: ./User.yaml + userId: + $ref: ./UserID.yaml + travelingToLocation: + $ref: ./LocationID.yaml +required: + - instance + - location + - user + - userId + - travelingToLocation \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketUserUpdate.yaml b/openapi/components/schemas/WebsocketUserUpdate.yaml index d73ddd15..6a67bd48 100644 --- a/openapi/components/schemas/WebsocketUserUpdate.yaml +++ b/openapi/components/schemas/WebsocketUserUpdate.yaml @@ -1 +1,10 @@ -type: object \ No newline at end of file +title: WebsocketUserUpdate +type: object +properties: + userId: + $ref: ./UserID.yaml + user: + $ref: ./User.yaml +required: + - userId + - user \ No newline at end of file From 8e7a03625cf02f9e28517df95599b6ef5194e5d5 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 20:54:41 +0200 Subject: [PATCH 06/30] ContentRefresh changes --- .../schemas/WebsocketContentRefresh.yaml | 21 +++++++++++++------ .../WebsocketContentRefreshActionType.yaml | 8 +++++++ .../WebsocketContentRefreshContentType.yaml | 3 +++ 3 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 openapi/components/schemas/WebsocketContentRefreshActionType.yaml create mode 100644 openapi/components/schemas/WebsocketContentRefreshContentType.yaml diff --git a/openapi/components/schemas/WebsocketContentRefresh.yaml b/openapi/components/schemas/WebsocketContentRefresh.yaml index 4d2466f4..17dc875d 100644 --- a/openapi/components/schemas/WebsocketContentRefresh.yaml +++ b/openapi/components/schemas/WebsocketContentRefresh.yaml @@ -1,9 +1,18 @@ title: WebsocketContentRefresh type: object properties: - action_type: -#Todo: Add proper enum - type: string - content_type: -#Todo: Add proper enum - type: string + actionType: + $ref: ./WebsocketContentRefreshActionType.yaml + contentType: + $ref: ./WebsocketContentRefreshContentType.yaml + fileId: + $ref: ./FileID.yaml + itemId: +#TODO: is this correct? + $ref: ./InventoryTemplateID.yaml + itemType: +#TODO: is this correct? + $ref: ./InventoryItemType.yaml +required: + - action_type + - contentType diff --git a/openapi/components/schemas/WebsocketContentRefreshActionType.yaml b/openapi/components/schemas/WebsocketContentRefreshActionType.yaml new file mode 100644 index 00000000..eb057ea6 --- /dev/null +++ b/openapi/components/schemas/WebsocketContentRefreshActionType.yaml @@ -0,0 +1,8 @@ +title: WebsocketContentRefreshActionType +type: string +enum: + - created + - deleted + - add + - delete +example: created diff --git a/openapi/components/schemas/WebsocketContentRefreshContentType.yaml b/openapi/components/schemas/WebsocketContentRefreshContentType.yaml new file mode 100644 index 00000000..a208c6c1 --- /dev/null +++ b/openapi/components/schemas/WebsocketContentRefreshContentType.yaml @@ -0,0 +1,3 @@ +title: WebsocketContentRefreshContentType +type: string +#Todo: How to type this, since this is technically a non-exhaustive enum? \ No newline at end of file From 04d2e8546eaeea3d378dc4dae7512ac40bbfd053 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 20:55:35 +0200 Subject: [PATCH 07/30] The NotificationDetails are used in the WebsocketNotification now --- openapi/components/schemas/_index.yaml | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index 9566aff1..8e9120cd 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -1,14 +1,2 @@ -NotificationDetailInvite: - $ref: ./NotificationDetailInvite.yaml -NotificationDetailInviteResponse: - $ref: ./NotificationDetailInviteResponse.yaml -NotificationDetailRequestInvite: - $ref: ./NotificationDetailRequestInvite.yaml -NotificationDetailRequestInviteResponse: - $ref: ./NotificationDetailRequestInviteResponse.yaml -NotificationDetailVoteToKick: - $ref: ./NotificationDetailVoteToKick.yaml WebsocketMessage: - $ref: ./WebsocketMessage.yaml -WebsocketNotification: - $ref: ./WebsocketNotification.yaml \ No newline at end of file + $ref: ./WebsocketMessage.yaml \ No newline at end of file From 015c8f7696cd5ae94d4ff198e2639cae561d59f9 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 20:58:26 +0200 Subject: [PATCH 08/30] Update Notification.yaml to clarify the double-json encoding properly with the spec --- openapi/components/schemas/Notification.yaml | 25 +++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/openapi/components/schemas/Notification.yaml b/openapi/components/schemas/Notification.yaml index 4637ed91..f240aae9 100644 --- a/openapi/components/schemas/Notification.yaml +++ b/openapi/components/schemas/Notification.yaml @@ -7,9 +7,28 @@ properties: format: date-time details: type: string - description: "**NOTICE:** This is not a JSON object when received from the REST API, but it is when received from the Websocket API. When received from the REST API, this is a json **encoded** object, meaning you have to json-de-encode to get the NotificationDetail object depending on the NotificationType." - default: "{}" - example: "OneOf: {}, NotificationDetailBoop, NotificationDetailInvite, NotificationDetailInviteResponse, NotificationDetailRequestInvite, NotificationDetailRequestInviteResponse, NotificationDetailVoteToKick" + description: JSON-encoded NotificationDetail + contentMediaType: application/json + x-if: + when: jsonschema + then: + contentSchema: + oneOf: + - $ref: ./NotificationDetailBoop.yaml + - $ref: ./NotificationDetailInvite.yaml + - $ref: ./NotificationDetailInviteResponse.yaml + - $ref: ./NotificationDetailRequestInvite.yaml + - $ref: ./NotificationDetailRequestInviteResponse.yaml + - $ref: ./NotificationDetailVoteToKick.yaml + discriminator: + propertyName: type + mapping: + boop: ./NotificationDetailBoop.yaml + invite: ./NotificationDetailInvite.yaml + invite-response: ./NotificationDetailInviteResponse.yaml + request-invite: ./NotificationDetailRequestInvite.yaml + request-invite-response: ./NotificationDetailRequestInviteResponse.yaml + vote-to-kick: ./NotificationDetailVoteToKick.yaml id: type: string minLength: 1 From 44fabdf7822d47c7e42436bf23e73bc16b369e9c Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:03:51 +0200 Subject: [PATCH 09/30] Constrain WebsocketClearNotification --- openapi/components/schemas/WebsocketClearNotification.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openapi/components/schemas/WebsocketClearNotification.yaml b/openapi/components/schemas/WebsocketClearNotification.yaml index cce7ce1c..0e7ab955 100644 --- a/openapi/components/schemas/WebsocketClearNotification.yaml +++ b/openapi/components/schemas/WebsocketClearNotification.yaml @@ -1,2 +1,4 @@ title: WebsocketClearNotification -type: object \ No newline at end of file +type: object +#Todo: is this correct, or is some special handling nessesary in WebsocketMessageNormal? +additionalProperties: false \ No newline at end of file From d80beb2f9deaf50fcd47e56a0f9be6ba336c867e Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:11:33 +0200 Subject: [PATCH 10/30] Fix wrong property name --- openapi/components/schemas/WebsocketContentRefresh.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openapi/components/schemas/WebsocketContentRefresh.yaml b/openapi/components/schemas/WebsocketContentRefresh.yaml index 17dc875d..09d55713 100644 --- a/openapi/components/schemas/WebsocketContentRefresh.yaml +++ b/openapi/components/schemas/WebsocketContentRefresh.yaml @@ -14,5 +14,8 @@ properties: #TODO: is this correct? $ref: ./InventoryItemType.yaml required: - - action_type + - actionType - contentType + - fileId + - itemId + - itemType From fd6f27a35f6a77d142e5c5b5fe86c2e6100852e0 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:12:11 +0200 Subject: [PATCH 11/30] Misspelling of required as requires --- openapi/components/schemas/WebsocketGroupJoined.yaml | 2 +- openapi/components/schemas/WebsocketGroupLeft.yaml | 2 +- openapi/components/schemas/WebsocketGroupMemberUpdated.yaml | 2 +- openapi/components/schemas/WebsocketGroupRoleUpdated.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/openapi/components/schemas/WebsocketGroupJoined.yaml b/openapi/components/schemas/WebsocketGroupJoined.yaml index ba989f2d..9c688f29 100644 --- a/openapi/components/schemas/WebsocketGroupJoined.yaml +++ b/openapi/components/schemas/WebsocketGroupJoined.yaml @@ -3,5 +3,5 @@ type: object properties: groupId: $ref: ./GroupID.yaml -requires: +required: - groupId \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupLeft.yaml b/openapi/components/schemas/WebsocketGroupLeft.yaml index 77ecc750..f11d6087 100644 --- a/openapi/components/schemas/WebsocketGroupLeft.yaml +++ b/openapi/components/schemas/WebsocketGroupLeft.yaml @@ -3,5 +3,5 @@ type: object properties: groupId: $ref: ./GroupID.yaml -requires: +required: - groupId \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml index eace76ee..5f23bf84 100644 --- a/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml +++ b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml @@ -3,5 +3,5 @@ type: object properties: member: $ref: ./GroupMemberLimitedUser.yaml -requires: +required: - member \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml b/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml index 41207053..be957163 100644 --- a/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml +++ b/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml @@ -3,5 +3,5 @@ type: object properties: role: $ref: ./GroupRole.yaml -requires: +required: - role \ No newline at end of file From 91a8436976f4747680facbc61a490f64d84e6c33 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:13:15 +0200 Subject: [PATCH 12/30] Fix wrong key in required --- openapi/components/schemas/WebsocketInstanceQueueReady.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml index 59bca8a4..74dca868 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml @@ -8,4 +8,4 @@ properties: format: date-time required: - location - - position \ No newline at end of file + - expiry \ No newline at end of file From f820e13c4d4f45438886fc731521e92358ae729a Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:14:54 +0200 Subject: [PATCH 13/30] See, Hide and Clear Notifications are not double json encoded --- openapi/components/schemas/WebsocketMessageDoubleJson.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 4d0b0b42..04011b3f 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -38,9 +38,6 @@ properties: oneOf: - $ref: ./WebsocketNotification.yaml - $ref: ./WebsocketResponseNotification.yaml - - $ref: ./WebsocketSeeNotification.yaml - - $ref: ./WebsocketHideNotification.yaml - - $ref: ./WebsocketClearNotification.yaml - $ref: ./NotificationV2.yaml - $ref: ./WebsocketNotificationV2Update.yaml - $ref: ./WebsocketNotificationV2Delete.yaml @@ -67,9 +64,6 @@ properties: mapping: notification: ./WebsocketNotification.yaml response-notification: ./WebsocketResponseNotification.yaml - see-notification: ./WebsocketSeeNotification.yaml - hide-notification: ./WebsocketHideNotification.yaml - clear-notification: ./WebsocketNotification.yaml notification-v2: ./NotificationV2.yaml notification-v2-update: ./WebsocketNotificationV2Update.yaml notification-v2-delete: ./WebsocketNotificationV2Delete.yaml From 0359da5de777b16dfeb4b04ffd8d79190363d452 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:15:04 +0200 Subject: [PATCH 14/30] Clear Notifications got a wrong type reference --- openapi/components/schemas/WebsocketMessageNormal.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml index 6d7e2bfb..e944795e 100644 --- a/openapi/components/schemas/WebsocketMessageNormal.yaml +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -20,7 +20,7 @@ properties: mapping: see-notification: ./WebsocketSeeNotification.yaml hide-notification: ./WebsocketHideNotification.yaml - clear-notification: ./WebsocketNotification.yaml + clear-notification: ./WebsocketClearNotification.yaml required: - type - content \ No newline at end of file From 2ea6233a92331d0c1fd9a0261284782446b9955c Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:16:20 +0200 Subject: [PATCH 15/30] Wrong name --- openapi/components/schemas/WebsocketInstanceQueueReady.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml index 74dca868..a0f03cc5 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml @@ -1,4 +1,4 @@ -title: WebsocketInstanceQueueJoined +title: WebsocketInstanceQueueReady type: object properties: location: From 09252f34534e8d28a1af1fe4b47f4a1a9e26d5a8 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:37:31 +0200 Subject: [PATCH 16/30] Lint --- .../schemas/WebsocketClearNotification.yaml | 4 +- .../schemas/WebsocketContentRefresh.yaml | 4 +- .../WebsocketContentRefreshActionType.yaml | 4 +- .../WebsocketContentRefreshContentType.yaml | 2 +- .../schemas/WebsocketFriendActive.yaml | 14 ++- .../schemas/WebsocketFriendAdd.yaml | 6 +- .../schemas/WebsocketFriendDelete.yaml | 2 +- .../schemas/WebsocketFriendLocation.yaml | 8 +- .../schemas/WebsocketFriendOffline.yaml | 6 +- .../schemas/WebsocketFriendOnline.yaml | 7 +- .../schemas/WebsocketFriendUpdate.yaml | 6 +- .../schemas/WebsocketGroupJoined.yaml | 2 +- .../schemas/WebsocketGroupLeft.yaml | 2 +- .../schemas/WebsocketGroupMemberUpdated.yaml | 2 +- .../schemas/WebsocketGroupRoleUpdated.yaml | 2 +- .../schemas/WebsocketHideNotification.yaml | 2 +- .../schemas/WebsocketInstanceQueueJoined.yaml | 2 +- .../schemas/WebsocketInstanceQueueReady.yaml | 6 +- .../components/schemas/WebsocketMessage.yaml | 2 +- .../schemas/WebsocketMessageDoubleJson.yaml | 85 ++++++++++--------- .../schemas/WebsocketMessageNormal.yaml | 14 +-- .../WebsocketNotificationV2Delete.yaml | 2 +- .../WebsocketNotificationV2Update.yaml | 8 +- .../schemas/WebsocketSeeNotification.yaml | 2 +- .../schemas/WebsocketUserLocation.yaml | 6 +- .../schemas/WebsocketUserUpdate.yaml | 6 +- openapi/components/schemas/_index.yaml | 2 +- 27 files changed, 110 insertions(+), 98 deletions(-) diff --git a/openapi/components/schemas/WebsocketClearNotification.yaml b/openapi/components/schemas/WebsocketClearNotification.yaml index 0e7ab955..a723ee56 100644 --- a/openapi/components/schemas/WebsocketClearNotification.yaml +++ b/openapi/components/schemas/WebsocketClearNotification.yaml @@ -1,4 +1,4 @@ title: WebsocketClearNotification type: object -#Todo: is this correct, or is some special handling nessesary in WebsocketMessageNormal? -additionalProperties: false \ No newline at end of file +# Todo: is this correct, or is some special handling nessesary in WebsocketMessageNormal? +additionalProperties: false diff --git a/openapi/components/schemas/WebsocketContentRefresh.yaml b/openapi/components/schemas/WebsocketContentRefresh.yaml index 09d55713..968f5dee 100644 --- a/openapi/components/schemas/WebsocketContentRefresh.yaml +++ b/openapi/components/schemas/WebsocketContentRefresh.yaml @@ -8,10 +8,10 @@ properties: fileId: $ref: ./FileID.yaml itemId: -#TODO: is this correct? + # TODO: is this correct? $ref: ./InventoryTemplateID.yaml itemType: -#TODO: is this correct? + # TODO: is this correct? $ref: ./InventoryItemType.yaml required: - actionType diff --git a/openapi/components/schemas/WebsocketContentRefreshActionType.yaml b/openapi/components/schemas/WebsocketContentRefreshActionType.yaml index eb057ea6..e172e5ec 100644 --- a/openapi/components/schemas/WebsocketContentRefreshActionType.yaml +++ b/openapi/components/schemas/WebsocketContentRefreshActionType.yaml @@ -1,8 +1,8 @@ title: WebsocketContentRefreshActionType type: string enum: - - created - - deleted - add + - created - delete + - deleted example: created diff --git a/openapi/components/schemas/WebsocketContentRefreshContentType.yaml b/openapi/components/schemas/WebsocketContentRefreshContentType.yaml index a208c6c1..a9ca170b 100644 --- a/openapi/components/schemas/WebsocketContentRefreshContentType.yaml +++ b/openapi/components/schemas/WebsocketContentRefreshContentType.yaml @@ -1,3 +1,3 @@ title: WebsocketContentRefreshContentType type: string -#Todo: How to type this, since this is technically a non-exhaustive enum? \ No newline at end of file +# Todo: How to type this, since this is technically a non-exhaustive enum? diff --git a/openapi/components/schemas/WebsocketFriendActive.yaml b/openapi/components/schemas/WebsocketFriendActive.yaml index d73ddd15..294fc5d2 100644 --- a/openapi/components/schemas/WebsocketFriendActive.yaml +++ b/openapi/components/schemas/WebsocketFriendActive.yaml @@ -1 +1,13 @@ -type: object \ No newline at end of file +title: WebsocketFriendActive +type: object +properties: + platform: + $ref: ./Platform.yaml + user: + $ref: ./User.yaml + userId: + $ref: ./UserID.yaml +required: + - platform + - user + - userId diff --git a/openapi/components/schemas/WebsocketFriendAdd.yaml b/openapi/components/schemas/WebsocketFriendAdd.yaml index 3bcfc73a..0703a2e7 100644 --- a/openapi/components/schemas/WebsocketFriendAdd.yaml +++ b/openapi/components/schemas/WebsocketFriendAdd.yaml @@ -1,10 +1,10 @@ title: WebsocketFriendAdd type: object properties: - userId: - $ref: ./UserID.yaml user: $ref: ./User.yaml + userId: + $ref: ./UserID.yaml required: + - user - userId - - user \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendDelete.yaml b/openapi/components/schemas/WebsocketFriendDelete.yaml index 8ab5b40a..d30c989b 100644 --- a/openapi/components/schemas/WebsocketFriendDelete.yaml +++ b/openapi/components/schemas/WebsocketFriendDelete.yaml @@ -4,4 +4,4 @@ properties: userId: $ref: ./UserID.yaml required: - - userId \ No newline at end of file + - userId diff --git a/openapi/components/schemas/WebsocketFriendLocation.yaml b/openapi/components/schemas/WebsocketFriendLocation.yaml index 40fbe863..f052dfdd 100644 --- a/openapi/components/schemas/WebsocketFriendLocation.yaml +++ b/openapi/components/schemas/WebsocketFriendLocation.yaml @@ -5,18 +5,18 @@ properties: type: boolean location: $ref: ./LocationID.yaml + travelingToLocation: + $ref: ./LocationID.yaml user: $ref: ./User.yaml userId: $ref: ./UserID.yaml - travelingToLocation: - $ref: ./LocationID.yaml worldId: $ref: ./WorldID.yaml required: - canRequestInvite - location + - travelingToLocation - user - userId - - travelingToLocation - - worldId \ No newline at end of file + - worldId diff --git a/openapi/components/schemas/WebsocketFriendOffline.yaml b/openapi/components/schemas/WebsocketFriendOffline.yaml index 9751c51c..93a8c9d4 100644 --- a/openapi/components/schemas/WebsocketFriendOffline.yaml +++ b/openapi/components/schemas/WebsocketFriendOffline.yaml @@ -1,10 +1,10 @@ title: WebsocketFriendOffline type: object properties: - userId: - $ref: ./UserID.yaml platform: $ref: ./Platform.yaml + userId: + $ref: ./UserID.yaml required: + - platform - userId - - platform \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendOnline.yaml b/openapi/components/schemas/WebsocketFriendOnline.yaml index 544f9d36..9f51e998 100644 --- a/openapi/components/schemas/WebsocketFriendOnline.yaml +++ b/openapi/components/schemas/WebsocketFriendOnline.yaml @@ -3,15 +3,14 @@ type: object properties: canRequestInvite: type: boolean - userId: - $ref: ./UserID.yaml location: $ref: ./LocationID.yaml platform: $ref: ./Platform.yaml - + userId: + $ref: ./UserID.yaml required: - canRequestInvite - location + - platform - userId - - platform \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendUpdate.yaml b/openapi/components/schemas/WebsocketFriendUpdate.yaml index c7dc946a..b6e6b8e4 100644 --- a/openapi/components/schemas/WebsocketFriendUpdate.yaml +++ b/openapi/components/schemas/WebsocketFriendUpdate.yaml @@ -1,10 +1,10 @@ title: WebsocketFriendUpdate type: object properties: - userId: - $ref: ./UserID.yaml user: $ref: ./User.yaml + userId: + $ref: ./UserID.yaml required: + - user - userId - - user \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupJoined.yaml b/openapi/components/schemas/WebsocketGroupJoined.yaml index 9c688f29..2014e644 100644 --- a/openapi/components/schemas/WebsocketGroupJoined.yaml +++ b/openapi/components/schemas/WebsocketGroupJoined.yaml @@ -4,4 +4,4 @@ properties: groupId: $ref: ./GroupID.yaml required: - - groupId \ No newline at end of file + - groupId diff --git a/openapi/components/schemas/WebsocketGroupLeft.yaml b/openapi/components/schemas/WebsocketGroupLeft.yaml index f11d6087..2d1613f3 100644 --- a/openapi/components/schemas/WebsocketGroupLeft.yaml +++ b/openapi/components/schemas/WebsocketGroupLeft.yaml @@ -4,4 +4,4 @@ properties: groupId: $ref: ./GroupID.yaml required: - - groupId \ No newline at end of file + - groupId diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml index 5f23bf84..e9cea6bf 100644 --- a/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml +++ b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml @@ -4,4 +4,4 @@ properties: member: $ref: ./GroupMemberLimitedUser.yaml required: - - member \ No newline at end of file + - member diff --git a/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml b/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml index be957163..bdfa8302 100644 --- a/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml +++ b/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml @@ -4,4 +4,4 @@ properties: role: $ref: ./GroupRole.yaml required: - - role \ No newline at end of file + - role diff --git a/openapi/components/schemas/WebsocketHideNotification.yaml b/openapi/components/schemas/WebsocketHideNotification.yaml index a9b84a05..4fa28420 100644 --- a/openapi/components/schemas/WebsocketHideNotification.yaml +++ b/openapi/components/schemas/WebsocketHideNotification.yaml @@ -1 +1 @@ -$ref: ./NotificationID.yaml \ No newline at end of file +$ref: ./NotificationID.yaml diff --git a/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml b/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml index d3df6b77..a8c96408 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml @@ -7,4 +7,4 @@ properties: type: integer required: - location - - position \ No newline at end of file + - position diff --git a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml index a0f03cc5..d2647997 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml @@ -1,11 +1,11 @@ title: WebsocketInstanceQueueReady type: object properties: - location: - $ref: ./LocationID.yaml expiry: type: string format: date-time + location: + $ref: ./LocationID.yaml required: + - expiry - location - - expiry \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketMessage.yaml b/openapi/components/schemas/WebsocketMessage.yaml index e0ff5776..a677b36b 100644 --- a/openapi/components/schemas/WebsocketMessage.yaml +++ b/openapi/components/schemas/WebsocketMessage.yaml @@ -6,4 +6,4 @@ x-if: - $ref: ./WebsocketMessageNormal.yaml - $ref: ./WebsocketMessageDoubleJson.yaml else: - type: object \ No newline at end of file + type: object diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 04011b3f..a1ea48b6 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -1,32 +1,6 @@ title: WebsocketMessageDoubleJson type: object properties: - type: - type: string - enum: - - notification - - response-notification - - notification-v2 - - notification-v2-update - - notification-v2-delete - - friend-add - - friend-delete - - friend-online - - friend-active - - friend-offline - - friend-update - - friend-location - - user-update - - user-location - - user-badge-assigned - - user-badge-unassigned - - content-refresh - - instance-queue-joined - - instance-queue-ready - - group-joined - - group-left - - group-member-updated - - group-role-updated content: type: string description: JSON-encoded object. @@ -62,28 +36,55 @@ properties: discriminator: propertyName: type mapping: - notification: ./WebsocketNotification.yaml - response-notification: ./WebsocketResponseNotification.yaml - notification-v2: ./NotificationV2.yaml - notification-v2-update: ./WebsocketNotificationV2Update.yaml - notification-v2-delete: ./WebsocketNotificationV2Delete.yaml + content-refresh: ./WebsocketContentRefresh.yaml + friend-active: ./WebsocketFriendActive.yaml friend-add: ./WebsocketFriendAdd.yaml friend-delete: ./WebsocketFriendDelete.yaml - friend-online: ./WebsocketFriendOnline.yaml - friend-active: ./WebsocketFriendActive.yaml + friend-location: ./WebsocketFriendLocation.yaml friend-offline: ./WebsocketFriendOffline.yaml + friend-online: ./WebsocketFriendOnline.yaml friend-update: ./WebsocketFriendUpdate.yaml - friend-location: ./WebsocketFriendLocation.yaml - user-update: ./WebsocketUserUpdate.yaml - user-location: ./WebsocketUserLocation.yaml - user-badge-assigned: ./WebsocketUserBadgeAssigned.yaml - user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml - content-refresh: ./WebsocketContentRefresh.yaml - instance-queue-joined: ./WebsocketInstanceQueueJoined.yaml - instance-queue-ready: ./WebsocketInstanceQueueReady.yaml group-joined: ./WebsocketGroupJoined.yaml group-left: ./WebsocketGroupLeft.yaml group-member-updated: ./WebsocketGroupMemberUpdated.yaml group-role-updated: ./WebsocketGroupRoleUpdated.yaml + notification: ./WebsocketNotification.yaml + notification-v2: ./NotificationV2.yaml + notification-v2-update: ./WebsocketNotificationV2Update.yaml + notification-v2-delete: ./WebsocketNotificationV2Delete.yaml + instance-queue-joined: ./WebsocketInstanceQueueJoined.yaml + instance-queue-ready: ./WebsocketInstanceQueueReady.yaml + user-update: ./WebsocketUserUpdate.yaml + user-location: ./WebsocketUserLocation.yaml + user-badge-assigned: ./WebsocketUserBadgeAssigned.yaml + user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml + response-notification: ./WebsocketResponseNotification.yaml + type: + type: string + enum: + - content-refresh + - friend-active + - friend-add + - friend-delete + - friend-location + - friend-offline + - friend-online + - friend-update + - group-joined + - group-left + - group-member-updated + - group-role-updated + - notification + - notification-v2 + - notification-v2-update + - notification-v2-delete + - instance-queue-joined + - instance-queue-ready + - user-update + - user-location + - user-badge-assigned + - user-badge-unassigned + - response-notification required: - - type \ No newline at end of file + - content + - type diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml index e944795e..1e893de9 100644 --- a/openapi/components/schemas/WebsocketMessageNormal.yaml +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -1,12 +1,6 @@ title: WebsocketMessageNormal type: object properties: - type: - type: string - enum: - - see-notification - - hide-notification - - clear-notification content: x-if: when: jsonschema @@ -21,6 +15,12 @@ properties: see-notification: ./WebsocketSeeNotification.yaml hide-notification: ./WebsocketHideNotification.yaml clear-notification: ./WebsocketClearNotification.yaml + type: + type: string + enum: + - clear-notification + - hide-notification + - see-notification required: + - content - type - - content \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketNotificationV2Delete.yaml b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml index a5486bca..b4b4bee8 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Delete.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml @@ -7,4 +7,4 @@ properties: type: integer required: - id - - version \ No newline at end of file + - version diff --git a/openapi/components/schemas/WebsocketNotificationV2Update.yaml b/openapi/components/schemas/WebsocketNotificationV2Update.yaml index 0bb0cfa2..5920fc75 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Update.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Update.yaml @@ -3,12 +3,12 @@ type: object properties: id: $ref: ./NotificationID.yaml - version: - type: integer updates: - #Todo: type this better + # Todo: type this better type: object + version: + type: integer required: - id + - updates - version - - updates \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketSeeNotification.yaml b/openapi/components/schemas/WebsocketSeeNotification.yaml index a9b84a05..4fa28420 100644 --- a/openapi/components/schemas/WebsocketSeeNotification.yaml +++ b/openapi/components/schemas/WebsocketSeeNotification.yaml @@ -1 +1 @@ -$ref: ./NotificationID.yaml \ No newline at end of file +$ref: ./NotificationID.yaml diff --git a/openapi/components/schemas/WebsocketUserLocation.yaml b/openapi/components/schemas/WebsocketUserLocation.yaml index 862a5183..732dfeb6 100644 --- a/openapi/components/schemas/WebsocketUserLocation.yaml +++ b/openapi/components/schemas/WebsocketUserLocation.yaml @@ -5,15 +5,15 @@ properties: $ref: ./InstanceID.yaml location: $ref: ./LocationID.yaml + travelingToLocation: + $ref: ./LocationID.yaml user: $ref: ./User.yaml userId: $ref: ./UserID.yaml - travelingToLocation: - $ref: ./LocationID.yaml required: - instance - location + - travelingToLocation - user - userId - - travelingToLocation \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketUserUpdate.yaml b/openapi/components/schemas/WebsocketUserUpdate.yaml index 6a67bd48..50346146 100644 --- a/openapi/components/schemas/WebsocketUserUpdate.yaml +++ b/openapi/components/schemas/WebsocketUserUpdate.yaml @@ -1,10 +1,10 @@ title: WebsocketUserUpdate type: object properties: - userId: - $ref: ./UserID.yaml user: $ref: ./User.yaml + userId: + $ref: ./UserID.yaml required: + - user - userId - - user \ No newline at end of file diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index 8e9120cd..c3fa511b 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -1,2 +1,2 @@ WebsocketMessage: - $ref: ./WebsocketMessage.yaml \ No newline at end of file + $ref: ./WebsocketMessage.yaml From ae95623244fe7128cfc04fcb3c9edb57cc41f18f Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:39:26 +0200 Subject: [PATCH 17/30] Lint2 --- .../schemas/WebsocketMessageDoubleJson.yaml | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index a1ea48b6..6f4866c5 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -48,17 +48,17 @@ properties: group-left: ./WebsocketGroupLeft.yaml group-member-updated: ./WebsocketGroupMemberUpdated.yaml group-role-updated: ./WebsocketGroupRoleUpdated.yaml + instance-queue-joined: ./WebsocketInstanceQueueJoined.yaml + instance-queue-ready: ./WebsocketInstanceQueueReady.yaml notification: ./WebsocketNotification.yaml notification-v2: ./NotificationV2.yaml - notification-v2-update: ./WebsocketNotificationV2Update.yaml notification-v2-delete: ./WebsocketNotificationV2Delete.yaml - instance-queue-joined: ./WebsocketInstanceQueueJoined.yaml - instance-queue-ready: ./WebsocketInstanceQueueReady.yaml - user-update: ./WebsocketUserUpdate.yaml - user-location: ./WebsocketUserLocation.yaml + notification-v2-update: ./WebsocketNotificationV2Update.yaml + response-notification: ./WebsocketResponseNotification.yaml user-badge-assigned: ./WebsocketUserBadgeAssigned.yaml user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml - response-notification: ./WebsocketResponseNotification.yaml + user-update: ./WebsocketUserUpdate.yaml + user-location: ./WebsocketUserLocation.yaml type: type: string enum: @@ -74,17 +74,17 @@ properties: - group-left - group-member-updated - group-role-updated + - instance-queue-joined + - instance-queue-ready - notification - notification-v2 - - notification-v2-update - notification-v2-delete - - instance-queue-joined - - instance-queue-ready - - user-update - - user-location + - notification-v2-update + - response-notification - user-badge-assigned - user-badge-unassigned - - response-notification + - user-update + - user-location required: - content - type From d44629494844cca0d462884cd8253591274c7ec4 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:39:36 +0200 Subject: [PATCH 18/30] Lint3 --- openapi/components/schemas/WebsocketMessageDoubleJson.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 6f4866c5..764d8869 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -57,8 +57,8 @@ properties: response-notification: ./WebsocketResponseNotification.yaml user-badge-assigned: ./WebsocketUserBadgeAssigned.yaml user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml - user-update: ./WebsocketUserUpdate.yaml user-location: ./WebsocketUserLocation.yaml + user-update: ./WebsocketUserUpdate.yaml type: type: string enum: @@ -83,8 +83,8 @@ properties: - response-notification - user-badge-assigned - user-badge-unassigned - - user-update - user-location + - user-update required: - content - type From 178da84464c68b9f430b8f5f44e77e06a3496312 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:49:40 +0200 Subject: [PATCH 19/30] Lint Warnings --- openapi/components/schemas/WebsocketNotification.yaml | 3 +-- openapi/components/schemas/WebsocketNotificationV2Update.yaml | 1 + openapi/components/schemas/WebsocketResponseNotification.yaml | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/openapi/components/schemas/WebsocketNotification.yaml b/openapi/components/schemas/WebsocketNotification.yaml index d9b06c78..00e80fe3 100644 --- a/openapi/components/schemas/WebsocketNotification.yaml +++ b/openapi/components/schemas/WebsocketNotification.yaml @@ -1,6 +1,5 @@ title: WebsocketNotification type: object -description: "" properties: created_at: type: string @@ -26,13 +25,13 @@ properties: request-invite-response: ./NotificationDetailRequestInviteResponse.yaml vote-to-kick: ./NotificationDetailVoteToKick.yaml else: + title: NotificationDetails type: object id: type: string minLength: 1 message: type: string - description: "" example: This is a generated invite to VRChat Hub receiverUserId: $ref: ./UserID.yaml diff --git a/openapi/components/schemas/WebsocketNotificationV2Update.yaml b/openapi/components/schemas/WebsocketNotificationV2Update.yaml index 5920fc75..173402b0 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Update.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Update.yaml @@ -4,6 +4,7 @@ properties: id: $ref: ./NotificationID.yaml updates: + title: WebsocketNotificationV2Updates # Todo: type this better type: object version: diff --git a/openapi/components/schemas/WebsocketResponseNotification.yaml b/openapi/components/schemas/WebsocketResponseNotification.yaml index 08f5c2c2..c15c648f 100644 --- a/openapi/components/schemas/WebsocketResponseNotification.yaml +++ b/openapi/components/schemas/WebsocketResponseNotification.yaml @@ -1,6 +1,5 @@ title: WebsocketResponseNotification type: object -description: "" properties: notificationId: type: string From efc2dffba79a5a80ac805ba81d429cb98e790846 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 22:02:51 +0200 Subject: [PATCH 20/30] Please generate proper code for double-json deserialization? --- openapi/components/schemas/Notification.yaml | 1 + openapi/components/schemas/WebsocketMessageDoubleJson.yaml | 1 + openapi/components/schemas/WebsocketMessageNormal.yaml | 1 + openapi/components/schemas/WebsocketNotification.yaml | 1 + 4 files changed, 4 insertions(+) diff --git a/openapi/components/schemas/Notification.yaml b/openapi/components/schemas/Notification.yaml index f240aae9..7e9b44bc 100644 --- a/openapi/components/schemas/Notification.yaml +++ b/openapi/components/schemas/Notification.yaml @@ -22,6 +22,7 @@ properties: - $ref: ./NotificationDetailVoteToKick.yaml discriminator: propertyName: type + propertyBaseName: type mapping: boop: ./NotificationDetailBoop.yaml invite: ./NotificationDetailInvite.yaml diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 764d8869..2cce0906 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -35,6 +35,7 @@ properties: - $ref: ./WebsocketGroupRoleUpdated.yaml discriminator: propertyName: type + propertyBaseName: type mapping: content-refresh: ./WebsocketContentRefresh.yaml friend-active: ./WebsocketFriendActive.yaml diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml index 1e893de9..07af53d9 100644 --- a/openapi/components/schemas/WebsocketMessageNormal.yaml +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -11,6 +11,7 @@ properties: - $ref: ./WebsocketClearNotification.yaml discriminator: propertyName: type + propertyBaseName: type mapping: see-notification: ./WebsocketSeeNotification.yaml hide-notification: ./WebsocketHideNotification.yaml diff --git a/openapi/components/schemas/WebsocketNotification.yaml b/openapi/components/schemas/WebsocketNotification.yaml index 00e80fe3..f35c0f5e 100644 --- a/openapi/components/schemas/WebsocketNotification.yaml +++ b/openapi/components/schemas/WebsocketNotification.yaml @@ -17,6 +17,7 @@ properties: - $ref: ./NotificationDetailVoteToKick.yaml discriminator: propertyName: type + propertyBaseName: type mapping: boop: ./NotificationDetailBoop.yaml invite: ./NotificationDetailInvite.yaml From 5dc7743f845e9448bdddeb2e609164f851992279 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 23:29:40 +0200 Subject: [PATCH 21/30] Fix x-if? --- .../schemas/WebsocketMessageDoubleJson.yaml | 3 + .../schemas/WebsocketMessageNormal.yaml | 2 + openapi/components/schemas/_index.yaml | 71 +++++++++++++++++++ package.json | 2 +- pnpm-lock.yaml | 10 +-- 5 files changed, 82 insertions(+), 6 deletions(-) diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 2cce0906..498fcad9 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -60,6 +60,9 @@ properties: user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml user-location: ./WebsocketUserLocation.yaml user-update: ./WebsocketUserUpdate.yaml + else: + contentSchema: + type: object type: type: string enum: diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml index 07af53d9..c356f044 100644 --- a/openapi/components/schemas/WebsocketMessageNormal.yaml +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -16,6 +16,8 @@ properties: see-notification: ./WebsocketSeeNotification.yaml hide-notification: ./WebsocketHideNotification.yaml clear-notification: ./WebsocketClearNotification.yaml + else: + type: object type: type: string enum: diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index c3fa511b..7cea98fc 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -1,2 +1,73 @@ +NotificationDetailBoop: + $ref: ./NotificationDetailBoop.yaml +NotificationDetailInvite: + $ref: ./NotificationDetailInvite.yaml +NotificationDetailInviteResponse: + $ref: ./NotificationDetailInviteResponse.yaml +NotificationDetailRequestInvite: + $ref: ./NotificationDetailRequestInvite.yaml +NotificationDetailRequestInviteResponse: + $ref: ./NotificationDetailRequestInviteResponse.yaml +NotificationDetailVoteToKick: + $ref: ./NotificationDetailVoteToKick.yaml + WebsocketMessage: $ref: ./WebsocketMessage.yaml +WebsocketMessageNormal: + $ref: ./WebsocketMessageNormal.yaml +WebsocketMessageDoubleJson: + $ref: ./WebsocketMessageDoubleJson.yaml + +WebsocketSeeNotification: + $ref: ./WebsocketSeeNotification.yaml +WebsocketHideNotification: + $ref: ./WebsocketHideNotification.yaml +WebsocketClearNotification: + $ref: ./WebsocketClearNotification.yaml + +WebsocketNotification: + $ref: ./WebsocketNotification.yaml +WebsocketResponseNotification: + $ref: ./WebsocketResponseNotification.yaml +NotificationV2: + $ref: ./NotificationV2.yaml +WebsocketNotificationV2Update: + $ref: ./WebsocketNotificationV2Update.yaml +WebsocketNotificationV2Delete: + $ref: ./WebsocketNotificationV2Delete.yaml +WebsocketFriendAdd: + $ref: ./WebsocketFriendAdd.yaml +WebsocketFriendDelete: + $ref: ./WebsocketFriendDelete.yaml +WebsocketFriendOnline: + $ref: ./WebsocketFriendOnline.yaml +WebsocketFriendActive: + $ref: ./WebsocketFriendActive.yaml +WebsocketFriendOffline: + $ref: ./WebsocketFriendOffline.yaml +WebsocketFriendUpdate: + $ref: ./WebsocketFriendUpdate.yaml +WebsocketFriendLocation: + $ref: ./WebsocketFriendLocation.yaml +WebsocketUserUpdate: + $ref: ./WebsocketUserUpdate.yaml +WebsocketUserLocation: + $ref: ./WebsocketUserLocation.yaml +WebsocketUserBadgeAssigned: + $ref: ./WebsocketUserBadgeAssigned.yaml +WebsocketUserBadgeUnassigned: + $ref: ./WebsocketUserBadgeUnassigned.yaml +WebsocketContentRefresh: + $ref: ./WebsocketContentRefresh.yaml +WebsocketInstanceQueueJoined: + $ref: ./WebsocketInstanceQueueJoined.yaml +WebsocketInstanceQueueReady: + $ref: ./WebsocketInstanceQueueReady.yaml +WebsocketGroupJoined: + $ref: ./WebsocketGroupJoined.yaml +WebsocketGroupLeft: + $ref: ./WebsocketGroupLeft.yaml +WebsocketGroupMemberUpdated: + $ref: ./WebsocketGroupMemberUpdated.yaml +WebsocketGroupRoleUpdated: + $ref: ./WebsocketGroupRoleUpdated.yaml \ No newline at end of file diff --git a/package.json b/package.json index c0ea29b1..94b7c8c0 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@ariesclark/eslint-config": "^3.1.1", "@eslint-react/eslint-plugin": "^2.3.9", "@jamesacarr/eslint-formatter-github-actions": "^0.2.0", - "@redocly/cli": "^2.53.1", + "@redocly/cli": "^2.53.2", "@redocly/openapi-core": "^2.53.1", "@stoplight/spectral-cli": "^6.15.0", "@stoplight/spectral-core": "^1.20.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f9e17329..7c135b59 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,8 +27,8 @@ importers: specifier: ^0.2.0 version: 0.2.0 '@redocly/cli': - specifier: ^2.53.1 - version: 2.53.1 + specifier: ^2.53.2 + version: 2.53.2 '@redocly/openapi-core': specifier: ^2.53.1 version: 2.53.1 @@ -1113,8 +1113,8 @@ packages: '@redocly/ajv@8.18.3': resolution: {integrity: sha512-l42u0of3hY98sN2A+M4qTX1O/KrpgGH32Hu9kP2GtHyD5Dfqq86PKFLe5dwaD8DEnNmlOlll2BAmeEtf0DaySg==} - '@redocly/cli@2.53.1': - resolution: {integrity: sha512-NzfSDjHZMMY5qvoXWT5Xz3qIdEEzlxjukU1hytgxY0UMTVroCLm8xprzVjDcMW/2L/P6zgP3vzIZBqS0tG69eA==} + '@redocly/cli@2.53.2': + resolution: {integrity: sha512-ay2jLuWvKssw1Au1A0fyDR//plK83GxV80TfA08iB9W/5AVosgB+WFv0JzglU4PiXf1fQjtsoXhZwZLx28VGrw==} engines: {node: '>=22.12.0 || >=20.19.0 <21.0.0', npm: '>=10'} hasBin: true @@ -5108,7 +5108,7 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - '@redocly/cli@2.53.1': {} + '@redocly/cli@2.53.2': {} '@redocly/config@0.56.0': dependencies: From f1f22bf776b5d6e7fcedce741f33e09146c28782 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 23:36:37 +0200 Subject: [PATCH 22/30] Lint1 --- openapi/components/schemas/_index.yaml | 62 +++++++++++++------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index 7cea98fc..e1080ecb 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -11,54 +11,34 @@ NotificationDetailRequestInviteResponse: NotificationDetailVoteToKick: $ref: ./NotificationDetailVoteToKick.yaml -WebsocketMessage: - $ref: ./WebsocketMessage.yaml -WebsocketMessageNormal: - $ref: ./WebsocketMessageNormal.yaml -WebsocketMessageDoubleJson: - $ref: ./WebsocketMessageDoubleJson.yaml +NotificationV2: + $ref: ./NotificationV2.yaml +WebsocketClearNotification: + $ref: ./WebsocketClearNotification.yaml WebsocketSeeNotification: $ref: ./WebsocketSeeNotification.yaml WebsocketHideNotification: $ref: ./WebsocketHideNotification.yaml -WebsocketClearNotification: - $ref: ./WebsocketClearNotification.yaml -WebsocketNotification: - $ref: ./WebsocketNotification.yaml +WebsocketContentRefresh: + $ref: ./WebsocketContentRefresh.yaml WebsocketResponseNotification: $ref: ./WebsocketResponseNotification.yaml -NotificationV2: - $ref: ./NotificationV2.yaml -WebsocketNotificationV2Update: - $ref: ./WebsocketNotificationV2Update.yaml -WebsocketNotificationV2Delete: - $ref: ./WebsocketNotificationV2Delete.yaml +WebsocketFriendActive: + $ref: ./WebsocketFriendActive.yaml WebsocketFriendAdd: $ref: ./WebsocketFriendAdd.yaml WebsocketFriendDelete: $ref: ./WebsocketFriendDelete.yaml -WebsocketFriendOnline: - $ref: ./WebsocketFriendOnline.yaml -WebsocketFriendActive: - $ref: ./WebsocketFriendActive.yaml WebsocketFriendOffline: $ref: ./WebsocketFriendOffline.yaml +WebsocketFriendOnline: + $ref: ./WebsocketFriendOnline.yaml WebsocketFriendUpdate: $ref: ./WebsocketFriendUpdate.yaml WebsocketFriendLocation: $ref: ./WebsocketFriendLocation.yaml -WebsocketUserUpdate: - $ref: ./WebsocketUserUpdate.yaml -WebsocketUserLocation: - $ref: ./WebsocketUserLocation.yaml -WebsocketUserBadgeAssigned: - $ref: ./WebsocketUserBadgeAssigned.yaml -WebsocketUserBadgeUnassigned: - $ref: ./WebsocketUserBadgeUnassigned.yaml -WebsocketContentRefresh: - $ref: ./WebsocketContentRefresh.yaml WebsocketInstanceQueueJoined: $ref: ./WebsocketInstanceQueueJoined.yaml WebsocketInstanceQueueReady: @@ -70,4 +50,24 @@ WebsocketGroupLeft: WebsocketGroupMemberUpdated: $ref: ./WebsocketGroupMemberUpdated.yaml WebsocketGroupRoleUpdated: - $ref: ./WebsocketGroupRoleUpdated.yaml \ No newline at end of file + $ref: ./WebsocketGroupRoleUpdated.yaml +WebsocketNotification: + $ref: ./WebsocketNotification.yaml +WebsocketNotificationV2Update: + $ref: ./WebsocketNotificationV2Update.yaml +WebsocketNotificationV2Delete: + $ref: ./WebsocketNotificationV2Delete.yaml +WebsocketUserUpdate: + $ref: ./WebsocketUserUpdate.yaml +WebsocketUserLocation: + $ref: ./WebsocketUserLocation.yaml +WebsocketUserBadgeAssigned: + $ref: ./WebsocketUserBadgeAssigned.yaml +WebsocketUserBadgeUnassigned: + $ref: ./WebsocketUserBadgeUnassigned.yaml +WebsocketMessage: + $ref: ./WebsocketMessage.yaml +WebsocketMessageDoubleJson: + $ref: ./WebsocketMessageDoubleJson.yaml +WebsocketMessageNormal: + $ref: ./WebsocketMessageNormal.yaml From 2c31cb60a2653de8ef33a8345cd1cd33c2fa895f Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 23:39:47 +0200 Subject: [PATCH 23/30] Lint2 --- openapi/components/schemas/_index.yaml | 44 +++++++++++++------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index e1080ecb..e728eaa0 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -16,33 +16,23 @@ NotificationV2: WebsocketClearNotification: $ref: ./WebsocketClearNotification.yaml -WebsocketSeeNotification: - $ref: ./WebsocketSeeNotification.yaml -WebsocketHideNotification: - $ref: ./WebsocketHideNotification.yaml WebsocketContentRefresh: $ref: ./WebsocketContentRefresh.yaml -WebsocketResponseNotification: - $ref: ./WebsocketResponseNotification.yaml WebsocketFriendActive: $ref: ./WebsocketFriendActive.yaml WebsocketFriendAdd: $ref: ./WebsocketFriendAdd.yaml WebsocketFriendDelete: $ref: ./WebsocketFriendDelete.yaml +WebsocketFriendLocation: + $ref: ./WebsocketFriendLocation.yaml WebsocketFriendOffline: $ref: ./WebsocketFriendOffline.yaml WebsocketFriendOnline: $ref: ./WebsocketFriendOnline.yaml WebsocketFriendUpdate: $ref: ./WebsocketFriendUpdate.yaml -WebsocketFriendLocation: - $ref: ./WebsocketFriendLocation.yaml -WebsocketInstanceQueueJoined: - $ref: ./WebsocketInstanceQueueJoined.yaml -WebsocketInstanceQueueReady: - $ref: ./WebsocketInstanceQueueReady.yaml WebsocketGroupJoined: $ref: ./WebsocketGroupJoined.yaml WebsocketGroupLeft: @@ -51,23 +41,33 @@ WebsocketGroupMemberUpdated: $ref: ./WebsocketGroupMemberUpdated.yaml WebsocketGroupRoleUpdated: $ref: ./WebsocketGroupRoleUpdated.yaml +WebsocketHideNotification: + $ref: ./WebsocketHideNotification.yaml +WebsocketInstanceQueueJoined: + $ref: ./WebsocketInstanceQueueJoined.yaml +WebsocketInstanceQueueReady: + $ref: ./WebsocketInstanceQueueReady.yaml +WebsocketMessage: + $ref: ./WebsocketMessage.yaml +WebsocketMessageDoubleJson: + $ref: ./WebsocketMessageDoubleJson.yaml +WebsocketMessageNormal: + $ref: ./WebsocketMessageNormal.yaml WebsocketNotification: $ref: ./WebsocketNotification.yaml WebsocketNotificationV2Update: $ref: ./WebsocketNotificationV2Update.yaml WebsocketNotificationV2Delete: $ref: ./WebsocketNotificationV2Delete.yaml -WebsocketUserUpdate: - $ref: ./WebsocketUserUpdate.yaml -WebsocketUserLocation: - $ref: ./WebsocketUserLocation.yaml +WebsocketResponseNotification: + $ref: ./WebsocketResponseNotification.yaml +WebsocketSeeNotification: + $ref: ./WebsocketSeeNotification.yaml WebsocketUserBadgeAssigned: $ref: ./WebsocketUserBadgeAssigned.yaml WebsocketUserBadgeUnassigned: $ref: ./WebsocketUserBadgeUnassigned.yaml -WebsocketMessage: - $ref: ./WebsocketMessage.yaml -WebsocketMessageDoubleJson: - $ref: ./WebsocketMessageDoubleJson.yaml -WebsocketMessageNormal: - $ref: ./WebsocketMessageNormal.yaml +WebsocketUserLocation: + $ref: ./WebsocketUserLocation.yaml +WebsocketUserUpdate: + $ref: ./WebsocketUserUpdate.yaml From d4cd09584c214f609986ef9c52df75b6c023c275 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 23:40:31 +0200 Subject: [PATCH 24/30] Lint3 --- openapi/components/schemas/_index.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index e728eaa0..e3107e21 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -55,10 +55,10 @@ WebsocketMessageNormal: $ref: ./WebsocketMessageNormal.yaml WebsocketNotification: $ref: ./WebsocketNotification.yaml -WebsocketNotificationV2Update: - $ref: ./WebsocketNotificationV2Update.yaml WebsocketNotificationV2Delete: $ref: ./WebsocketNotificationV2Delete.yaml +WebsocketNotificationV2Update: + $ref: ./WebsocketNotificationV2Update.yaml WebsocketResponseNotification: $ref: ./WebsocketResponseNotification.yaml WebsocketSeeNotification: From 43179356e40b7101f8ca66cc63729a2c58149070 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 23:50:03 +0200 Subject: [PATCH 25/30] Remove probably? unused propertyBaseName --- openapi/components/schemas/Notification.yaml | 1 - openapi/components/schemas/WebsocketMessageDoubleJson.yaml | 1 - openapi/components/schemas/WebsocketMessageNormal.yaml | 1 - openapi/components/schemas/WebsocketNotification.yaml | 1 - 4 files changed, 4 deletions(-) diff --git a/openapi/components/schemas/Notification.yaml b/openapi/components/schemas/Notification.yaml index 7e9b44bc..f240aae9 100644 --- a/openapi/components/schemas/Notification.yaml +++ b/openapi/components/schemas/Notification.yaml @@ -22,7 +22,6 @@ properties: - $ref: ./NotificationDetailVoteToKick.yaml discriminator: propertyName: type - propertyBaseName: type mapping: boop: ./NotificationDetailBoop.yaml invite: ./NotificationDetailInvite.yaml diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 498fcad9..6d47beef 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -35,7 +35,6 @@ properties: - $ref: ./WebsocketGroupRoleUpdated.yaml discriminator: propertyName: type - propertyBaseName: type mapping: content-refresh: ./WebsocketContentRefresh.yaml friend-active: ./WebsocketFriendActive.yaml diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml index c356f044..63de2de9 100644 --- a/openapi/components/schemas/WebsocketMessageNormal.yaml +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -11,7 +11,6 @@ properties: - $ref: ./WebsocketClearNotification.yaml discriminator: propertyName: type - propertyBaseName: type mapping: see-notification: ./WebsocketSeeNotification.yaml hide-notification: ./WebsocketHideNotification.yaml diff --git a/openapi/components/schemas/WebsocketNotification.yaml b/openapi/components/schemas/WebsocketNotification.yaml index f35c0f5e..00e80fe3 100644 --- a/openapi/components/schemas/WebsocketNotification.yaml +++ b/openapi/components/schemas/WebsocketNotification.yaml @@ -17,7 +17,6 @@ properties: - $ref: ./NotificationDetailVoteToKick.yaml discriminator: propertyName: type - propertyBaseName: type mapping: boop: ./NotificationDetailBoop.yaml invite: ./NotificationDetailInvite.yaml From 31dae62e8931c823bc8ae40bd9a412cd37c5293b Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Thu, 17 Sep 2026 01:01:08 +0200 Subject: [PATCH 26/30] Change how Websocket Message enums are decoded --- .../WebsocketContentRefreshEncoded.yaml | 10 ++ .../schemas/WebsocketFriendActiveEncoded.yaml | 10 ++ .../schemas/WebsocketFriendAddEncoded.yaml | 10 ++ .../schemas/WebsocketFriendDeleteEncoded.yaml | 10 ++ .../WebsocketFriendLocationEncoded.yaml | 10 ++ .../WebsocketFriendOfflineEncoded.yaml | 10 ++ .../schemas/WebsocketFriendOnlineEncoded.yaml | 10 ++ .../schemas/WebsocketFriendUpdateEncoded.yaml | 10 ++ .../schemas/WebsocketGroupJoinedEncoded.yaml | 10 ++ .../schemas/WebsocketGroupLeftEncoded.yaml | 10 ++ .../WebsocketGroupMemberUpdatedEncoded.yaml | 10 ++ .../WebsocketGroupRoleUpdatedEncoded.yaml | 10 ++ .../schemas/WebsocketHideNotification.yaml | 8 +- .../WebsocketInstanceQueueJoinedEncoded.yaml | 10 ++ .../WebsocketInstanceQueueReadyEncoded.yaml | 10 ++ .../schemas/WebsocketMessageDoubleJson.yaml | 147 +++++++----------- .../schemas/WebsocketMessageNormal.yaml | 42 ++--- .../schemas/WebsocketNotificationEncoded.yaml | 10 ++ .../WebsocketNotificationV2DeleteEncoded.yaml | 10 ++ .../WebsocketNotificationV2Encoded.yaml | 10 ++ .../WebsocketNotificationV2UpdateEncoded.yaml | 10 ++ .../WebsocketResponseNotificationEncoded.yaml | 10 ++ .../schemas/WebsocketSeeNotification.yaml | 8 +- .../WebsocketUserBadgeAssignedEncoded.yaml | 10 ++ .../WebsocketUserBadgeUnassignedEncoded.yaml | 10 ++ .../schemas/WebsocketUserLocationEncoded.yaml | 10 ++ .../schemas/WebsocketUserUpdateEncoded.yaml | 10 ++ openapi/components/schemas/_index.yaml | 47 +++++- 28 files changed, 360 insertions(+), 122 deletions(-) create mode 100644 openapi/components/schemas/WebsocketContentRefreshEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketFriendActiveEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketFriendAddEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketFriendLocationEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketGroupLeftEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationV2Encoded.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketUserLocationEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketUserUpdateEncoded.yaml diff --git a/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml b/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml new file mode 100644 index 00000000..a1829c29 --- /dev/null +++ b/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketContentRefreshEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketContentRefresh.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml b/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml new file mode 100644 index 00000000..c89f87b4 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketFriendActiveEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketFriendActive.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketFriendAddEncoded.yaml b/openapi/components/schemas/WebsocketFriendAddEncoded.yaml new file mode 100644 index 00000000..545c34ec --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendAddEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketFriendAddEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketFriendAdd.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml b/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml new file mode 100644 index 00000000..14e5d35b --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketFriendDeleteEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketFriendDelete.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml b/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml new file mode 100644 index 00000000..011d242f --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketFriendLocationEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketFriendLocation.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml b/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml new file mode 100644 index 00000000..173b9285 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketFriendOfflineEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketFriendOffline.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml b/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml new file mode 100644 index 00000000..469bf064 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketFriendOnlineEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketFriendOnline.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml b/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml new file mode 100644 index 00000000..0df456c6 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketFriendUpdateEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketFriendUpdate.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml b/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml new file mode 100644 index 00000000..2d4d4be5 --- /dev/null +++ b/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketGroupJoinedEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketGroupJoined.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml b/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml new file mode 100644 index 00000000..85cf58f3 --- /dev/null +++ b/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketGroupLeftEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketGroupLeft.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml new file mode 100644 index 00000000..966312d9 --- /dev/null +++ b/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketGroupMemberUpdatedEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketGroupMemberUpdated.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml b/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml new file mode 100644 index 00000000..5b7328c7 --- /dev/null +++ b/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketGroupRoleUpdatedEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketGroupRoleUpdated.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketHideNotification.yaml b/openapi/components/schemas/WebsocketHideNotification.yaml index 4fa28420..199ba5f4 100644 --- a/openapi/components/schemas/WebsocketHideNotification.yaml +++ b/openapi/components/schemas/WebsocketHideNotification.yaml @@ -1 +1,7 @@ -$ref: ./NotificationID.yaml +title: WebsocketHideNotification +type: object +properties: + content: + $ref: ./NotificationID.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml b/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml new file mode 100644 index 00000000..e7ef25cf --- /dev/null +++ b/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketInstanceQueueJoinedEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketInstanceQueueJoined.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml b/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml new file mode 100644 index 00000000..e0780de7 --- /dev/null +++ b/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketInstanceQueueReadyEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketInstanceQueueReady.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 6d47beef..c58dd3a0 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -1,93 +1,56 @@ title: WebsocketMessageDoubleJson -type: object -properties: - content: - type: string - description: JSON-encoded object. - contentMediaType: application/json - x-if: - when: jsonschema - then: - contentSchema: - oneOf: - - $ref: ./WebsocketNotification.yaml - - $ref: ./WebsocketResponseNotification.yaml - - $ref: ./NotificationV2.yaml - - $ref: ./WebsocketNotificationV2Update.yaml - - $ref: ./WebsocketNotificationV2Delete.yaml - - $ref: ./WebsocketFriendAdd.yaml - - $ref: ./WebsocketFriendDelete.yaml - - $ref: ./WebsocketFriendOnline.yaml - - $ref: ./WebsocketFriendActive.yaml - - $ref: ./WebsocketFriendOffline.yaml - - $ref: ./WebsocketFriendUpdate.yaml - - $ref: ./WebsocketFriendLocation.yaml - - $ref: ./WebsocketUserUpdate.yaml - - $ref: ./WebsocketUserLocation.yaml - - $ref: ./WebsocketUserBadgeAssigned.yaml - - $ref: ./WebsocketUserBadgeUnassigned.yaml - - $ref: ./WebsocketContentRefresh.yaml - - $ref: ./WebsocketInstanceQueueJoined.yaml - - $ref: ./WebsocketInstanceQueueReady.yaml - - $ref: ./WebsocketGroupJoined.yaml - - $ref: ./WebsocketGroupLeft.yaml - - $ref: ./WebsocketGroupMemberUpdated.yaml - - $ref: ./WebsocketGroupRoleUpdated.yaml - discriminator: - propertyName: type - mapping: - content-refresh: ./WebsocketContentRefresh.yaml - friend-active: ./WebsocketFriendActive.yaml - friend-add: ./WebsocketFriendAdd.yaml - friend-delete: ./WebsocketFriendDelete.yaml - friend-location: ./WebsocketFriendLocation.yaml - friend-offline: ./WebsocketFriendOffline.yaml - friend-online: ./WebsocketFriendOnline.yaml - friend-update: ./WebsocketFriendUpdate.yaml - group-joined: ./WebsocketGroupJoined.yaml - group-left: ./WebsocketGroupLeft.yaml - group-member-updated: ./WebsocketGroupMemberUpdated.yaml - group-role-updated: ./WebsocketGroupRoleUpdated.yaml - instance-queue-joined: ./WebsocketInstanceQueueJoined.yaml - instance-queue-ready: ./WebsocketInstanceQueueReady.yaml - notification: ./WebsocketNotification.yaml - notification-v2: ./NotificationV2.yaml - notification-v2-delete: ./WebsocketNotificationV2Delete.yaml - notification-v2-update: ./WebsocketNotificationV2Update.yaml - response-notification: ./WebsocketResponseNotification.yaml - user-badge-assigned: ./WebsocketUserBadgeAssigned.yaml - user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml - user-location: ./WebsocketUserLocation.yaml - user-update: ./WebsocketUserUpdate.yaml - else: - contentSchema: - type: object - type: - type: string - enum: - - content-refresh - - friend-active - - friend-add - - friend-delete - - friend-location - - friend-offline - - friend-online - - friend-update - - group-joined - - group-left - - group-member-updated - - group-role-updated - - instance-queue-joined - - instance-queue-ready - - notification - - notification-v2 - - notification-v2-delete - - notification-v2-update - - response-notification - - user-badge-assigned - - user-badge-unassigned - - user-location - - user-update -required: - - content - - type +x-if: + when: jsonschema + then: + oneOf: + - $ref: ./WebsocketContentRefreshEncoded.yaml + - $ref: ./WebsocketFriendActiveEncoded.yaml + - $ref: ./WebsocketFriendAddEncoded.yaml + - $ref: ./WebsocketFriendDeleteEncoded.yaml + - $ref: ./WebsocketFriendLocationEncoded.yaml + - $ref: ./WebsocketFriendOfflineEncoded.yaml + - $ref: ./WebsocketFriendOnlineEncoded.yaml + - $ref: ./WebsocketFriendUpdateEncoded.yaml + - $ref: ./WebsocketGroupJoinedEncoded.yaml + - $ref: ./WebsocketGroupLeftEncoded.yaml + - $ref: ./WebsocketGroupMemberUpdatedEncoded.yaml + - $ref: ./WebsocketGroupRoleUpdatedEncoded.yaml + - $ref: ./WebsocketInstanceQueueJoinedEncoded.yaml + - $ref: ./WebsocketInstanceQueueReadyEncoded.yaml + - $ref: ./WebsocketNotificationEncoded.yaml + - $ref: ./WebsocketNotificationV2Encoded.yaml + - $ref: ./WebsocketNotificationV2DeleteEncoded.yaml + - $ref: ./WebsocketNotificationV2UpdateEncoded.yaml + - $ref: ./WebsocketResponseNotificationEncoded.yaml + - $ref: ./WebsocketUserBadgeAssignedEncoded.yaml + - $ref: ./WebsocketUserBadgeUnassignedEncoded.yaml + - $ref: ./WebsocketUserLocationEncoded.yaml + - $ref: ./WebsocketUserUpdateEncoded.yaml + discriminator: + propertyName: type + mapping: + content-refresh: ./WebsocketContentRefreshEncoded.yaml + friend-active: ./WebsocketFriendActiveEncoded.yaml + friend-add: ./WebsocketFriendAddEncoded.yaml + friend-delete: ./WebsocketFriendDeleteEncoded.yaml + friend-location: ./WebsocketFriendLocationEncoded.yaml + friend-offline: ./WebsocketFriendOfflineEncoded.yaml + friend-online: ./WebsocketFriendOnlineEncoded.yaml + friend-update: ./WebsocketFriendUpdateEncoded.yaml + group-joined: ./WebsocketGroupJoinedEncoded.yaml + group-left: ./WebsocketGroupLeftEncoded.yaml + group-member-updated: ./WebsocketGroupMemberUpdatedEncoded.yaml + group-role-updated: ./WebsocketGroupRoleUpdatedEncoded.yaml + instance-queue-joined: ./WebsocketInstanceQueueJoinedEncoded.yaml + instance-queue-ready: ./WebsocketInstanceQueueReadyEncoded.yaml + notification: ./WebsocketNotificationEncoded.yaml + notification-v2: ./WebsocketNotificationV2Encoded.yaml + notification-v2-delete: ./WebsocketNotificationV2DeleteEncoded.yaml + notification-v2-update: ./WebsocketNotificationV2UpdateEncoded.yaml + response-notification: ./WebsocketResponseNotificationEncoded.yaml + user-badge-assigned: ./WebsocketUserBadgeAssignedEncoded.yaml + user-badge-unassigned: ./WebsocketUserBadgeUnassignedEncoded.yaml + user-location: ./WebsocketUserLocationEncoded.yaml + user-update: ./WebsocketUserUpdateEncoded.yaml + else: + type: object diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml index 63de2de9..7e412926 100644 --- a/openapi/components/schemas/WebsocketMessageNormal.yaml +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -1,28 +1,16 @@ title: WebsocketMessageNormal -type: object -properties: - content: - x-if: - when: jsonschema - then: - oneOf: - - $ref: ./WebsocketSeeNotification.yaml - - $ref: ./WebsocketHideNotification.yaml - - $ref: ./WebsocketClearNotification.yaml - discriminator: - propertyName: type - mapping: - see-notification: ./WebsocketSeeNotification.yaml - hide-notification: ./WebsocketHideNotification.yaml - clear-notification: ./WebsocketClearNotification.yaml - else: - type: object - type: - type: string - enum: - - clear-notification - - hide-notification - - see-notification -required: - - content - - type +x-if: + when: jsonschema + then: + oneOf: + - $ref: ./WebsocketSeeNotification.yaml + - $ref: ./WebsocketHideNotification.yaml + - $ref: ./WebsocketClearNotification.yaml + discriminator: + propertyName: type + mapping: + see-notification: ./WebsocketSeeNotification.yaml + hide-notification: ./WebsocketHideNotification.yaml + clear-notification: ./WebsocketClearNotification.yaml + else: + type: object diff --git a/openapi/components/schemas/WebsocketNotificationEncoded.yaml b/openapi/components/schemas/WebsocketNotificationEncoded.yaml new file mode 100644 index 00000000..f3d5f77a --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketNotificationEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketNotification.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml b/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml new file mode 100644 index 00000000..5e3e0f73 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketNotificationV2DeleteEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketNotificationV2Delete.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml b/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml new file mode 100644 index 00000000..1e907604 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml @@ -0,0 +1,10 @@ +title: NotificationV2Encoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./NotificationV2.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml b/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml new file mode 100644 index 00000000..f70e1ea3 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketNotificationV2UpdateEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketNotificationV2Update.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml b/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml new file mode 100644 index 00000000..e201400f --- /dev/null +++ b/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketResponseNotificationEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketResponseNotification.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketSeeNotification.yaml b/openapi/components/schemas/WebsocketSeeNotification.yaml index 4fa28420..459e4d2e 100644 --- a/openapi/components/schemas/WebsocketSeeNotification.yaml +++ b/openapi/components/schemas/WebsocketSeeNotification.yaml @@ -1 +1,7 @@ -$ref: ./NotificationID.yaml +title: WebsocketSeeNotification +type: object +properties: + content: + $ref: ./NotificationID.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml b/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml new file mode 100644 index 00000000..72c4cf43 --- /dev/null +++ b/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketUserBadgeAssignedEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketUserBadgeAssigned.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml b/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml new file mode 100644 index 00000000..134140ea --- /dev/null +++ b/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketUserBadgeUnassignedEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketUserBadgeUnassigned.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketUserLocationEncoded.yaml b/openapi/components/schemas/WebsocketUserLocationEncoded.yaml new file mode 100644 index 00000000..2aa59ad5 --- /dev/null +++ b/openapi/components/schemas/WebsocketUserLocationEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketUserLocationEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketUserLocation.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml b/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml new file mode 100644 index 00000000..8d4f6f65 --- /dev/null +++ b/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketUserUpdateEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketUserUpdate.yaml +required: + - content diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index e3107e21..0ad63b06 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -16,37 +16,64 @@ NotificationV2: WebsocketClearNotification: $ref: ./WebsocketClearNotification.yaml - WebsocketContentRefresh: $ref: ./WebsocketContentRefresh.yaml +WebsocketContentRefreshEncoded: + $ref: ./WebsocketContentRefreshEncoded.yaml WebsocketFriendActive: $ref: ./WebsocketFriendActive.yaml +WebsocketFriendActiveEncoded: + $ref: ./WebsocketFriendActiveEncoded.yaml WebsocketFriendAdd: $ref: ./WebsocketFriendAdd.yaml +WebsocketFriendAddEncoded: + $ref: ./WebsocketFriendAddEncoded.yaml WebsocketFriendDelete: $ref: ./WebsocketFriendDelete.yaml +WebsocketFriendDeleteEncoded: + $ref: ./WebsocketFriendDeleteEncoded.yaml WebsocketFriendLocation: $ref: ./WebsocketFriendLocation.yaml +WebsocketFriendLocationEncoded: + $ref: ./WebsocketFriendLocationEncoded.yaml WebsocketFriendOffline: $ref: ./WebsocketFriendOffline.yaml +WebsocketFriendOfflineEncoded: + $ref: ./WebsocketFriendOfflineEncoded.yaml WebsocketFriendOnline: $ref: ./WebsocketFriendOnline.yaml +WebsocketFriendOnlineEncoded: + $ref: ./WebsocketFriendOnlineEncoded.yaml WebsocketFriendUpdate: $ref: ./WebsocketFriendUpdate.yaml +WebsocketFriendUpdateEncoded: + $ref: ./WebsocketFriendUpdateEncoded.yaml WebsocketGroupJoined: $ref: ./WebsocketGroupJoined.yaml +WebsocketGroupJoinedEncoded: + $ref: ./WebsocketGroupJoinedEncoded.yaml WebsocketGroupLeft: $ref: ./WebsocketGroupLeft.yaml +WebsocketGroupLeftEncoded: + $ref: ./WebsocketGroupLeftEncoded.yaml WebsocketGroupMemberUpdated: $ref: ./WebsocketGroupMemberUpdated.yaml +WebsocketGroupMemberUpdatedEncoded: + $ref: ./WebsocketGroupMemberUpdatedEncoded.yaml WebsocketGroupRoleUpdated: $ref: ./WebsocketGroupRoleUpdated.yaml +WebsocketGroupRoleUpdatedEncoded: + $ref: ./WebsocketGroupRoleUpdatedEncoded.yaml WebsocketHideNotification: $ref: ./WebsocketHideNotification.yaml WebsocketInstanceQueueJoined: $ref: ./WebsocketInstanceQueueJoined.yaml +WebsocketInstanceQueueJoinedEncoded: + $ref: ./WebsocketInstanceQueueJoinedEncoded.yaml WebsocketInstanceQueueReady: $ref: ./WebsocketInstanceQueueReady.yaml +WebsocketInstanceQueueReadyEncoded: + $ref: ./WebsocketInstanceQueueReadyEncoded.yaml WebsocketMessage: $ref: ./WebsocketMessage.yaml WebsocketMessageDoubleJson: @@ -55,19 +82,37 @@ WebsocketMessageNormal: $ref: ./WebsocketMessageNormal.yaml WebsocketNotification: $ref: ./WebsocketNotification.yaml +WebsocketNotificationEncoded: + $ref: ./WebsocketNotificationEncoded.yaml WebsocketNotificationV2Delete: $ref: ./WebsocketNotificationV2Delete.yaml +WebsocketNotificationV2DeleteEncoded: + $ref: ./WebsocketNotificationV2DeleteEncoded.yaml +WebsocketNotificationV2Encoded: + $ref: ./WebsocketNotificationV2Encoded.yaml WebsocketNotificationV2Update: $ref: ./WebsocketNotificationV2Update.yaml +WebsocketNotificationV2UpdateEncoded: + $ref: ./WebsocketNotificationV2UpdateEncoded.yaml WebsocketResponseNotification: $ref: ./WebsocketResponseNotification.yaml +WebsocketResponseNotificationEncoded: + $ref: ./WebsocketResponseNotificationEncoded.yaml WebsocketSeeNotification: $ref: ./WebsocketSeeNotification.yaml WebsocketUserBadgeAssigned: $ref: ./WebsocketUserBadgeAssigned.yaml +WebsocketUserBadgeAssignedEncoded: + $ref: ./WebsocketUserBadgeAssignedEncoded.yaml WebsocketUserBadgeUnassigned: $ref: ./WebsocketUserBadgeUnassigned.yaml +WebsocketUserBadgeUnassignedEncoded: + $ref: ./WebsocketUserBadgeUnassignedEncoded.yaml WebsocketUserLocation: $ref: ./WebsocketUserLocation.yaml +WebsocketUserLocationEncoded: + $ref: ./WebsocketUserLocationEncoded.yaml WebsocketUserUpdate: $ref: ./WebsocketUserUpdate.yaml +WebsocketUserUpdateEncoded: + $ref: ./WebsocketUserUpdateEncoded.yaml From e74012f83c1da80478bd97582498254674507526 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Thu, 17 Sep 2026 01:16:20 +0200 Subject: [PATCH 27/30] Fix "InlineObject" Names --- .../responses/authentication/CurrentUserLoginResponse.yaml | 1 + .../responses/groups/GroupGalleryImageListResponse.yaml | 1 + .../components/responses/groups/GroupMemberSearchResponse.yaml | 1 + openapi/components/responses/groups/GroupPostsResponse.yaml | 1 + .../responses/users/UserGroupInstanceListResponse.yaml | 1 + openapi/components/responses/users/UserResponse.yaml | 1 + 6 files changed, 6 insertions(+) diff --git a/openapi/components/responses/authentication/CurrentUserLoginResponse.yaml b/openapi/components/responses/authentication/CurrentUserLoginResponse.yaml index 74cd94c9..4196cffd 100644 --- a/openapi/components/responses/authentication/CurrentUserLoginResponse.yaml +++ b/openapi/components/responses/authentication/CurrentUserLoginResponse.yaml @@ -5,6 +5,7 @@ content: x-if: when: jsonschema then: + title: LoginOr2fa oneOf: - $ref: ../../schemas/CurrentUser.yaml - $ref: ../../schemas/RequiresTwoFactorAuth.yaml diff --git a/openapi/components/responses/groups/GroupGalleryImageListResponse.yaml b/openapi/components/responses/groups/GroupGalleryImageListResponse.yaml index 2bdfdaf2..4dd5bd91 100644 --- a/openapi/components/responses/groups/GroupGalleryImageListResponse.yaml +++ b/openapi/components/responses/groups/GroupGalleryImageListResponse.yaml @@ -2,6 +2,7 @@ description: Returns a list of GroupGalleryImage objects, wrapped in a paginated content: application/json: schema: + title: GroupGalleryImageListResponse oneOf: - type: array items: diff --git a/openapi/components/responses/groups/GroupMemberSearchResponse.yaml b/openapi/components/responses/groups/GroupMemberSearchResponse.yaml index 2676e57c..0d27e35e 100644 --- a/openapi/components/responses/groups/GroupMemberSearchResponse.yaml +++ b/openapi/components/responses/groups/GroupMemberSearchResponse.yaml @@ -2,6 +2,7 @@ description: Returns a list of GroupMember objects from a search. content: application/json: schema: + title: GroupMemberSearchResponse type: object properties: results: diff --git a/openapi/components/responses/groups/GroupPostsResponse.yaml b/openapi/components/responses/groups/GroupPostsResponse.yaml index d19c03b1..35bd8245 100644 --- a/openapi/components/responses/groups/GroupPostsResponse.yaml +++ b/openapi/components/responses/groups/GroupPostsResponse.yaml @@ -2,6 +2,7 @@ description: Returns a GroupPost Array. content: application/json: schema: + title: GroupPostsResponse type: object properties: posts: diff --git a/openapi/components/responses/users/UserGroupInstanceListResponse.yaml b/openapi/components/responses/users/UserGroupInstanceListResponse.yaml index 68234e7b..7b0f9d41 100644 --- a/openapi/components/responses/users/UserGroupInstanceListResponse.yaml +++ b/openapi/components/responses/users/UserGroupInstanceListResponse.yaml @@ -2,6 +2,7 @@ description: Returns a list of Instance objects with a fetched at time. content: application/json: schema: + title: UserGroupInstanceListResponse type: object properties: fetchedAt: diff --git a/openapi/components/responses/users/UserResponse.yaml b/openapi/components/responses/users/UserResponse.yaml index 7e1ca8b9..e80ff481 100644 --- a/openapi/components/responses/users/UserResponse.yaml +++ b/openapi/components/responses/users/UserResponse.yaml @@ -10,6 +10,7 @@ content: x-if: when: jsonschema then: + title: UserResponse oneOf: - $ref: ../../schemas/User.yaml - $ref: ../../schemas/CurrentUser.yaml From c7fee0373e2e1ba1e928fa2c96df47e4e84788e9 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Thu, 17 Sep 2026 01:39:26 +0200 Subject: [PATCH 28/30] Regex-Replace usages of `nullable: true` First search: `\n(\s*)type: (.*)\n\1nullable: true` First replace: `\n$1type: ['null', '$2']` Second search: `\n(\s*)type: (.*)\n\1description:(.*)\n\1nullable: true` Second replace: `\n$1type: ['null', '$2']\n$1description:$3` --- .../requests/CreateGroupGalleryRequest.yaml | 12 +++---- .../requests/CreateGroupRequest.yaml | 6 ++-- .../requests/CreateInstanceRequest.yaml | 6 ++-- .../requests/UpdateGroupGalleryRequest.yaml | 12 +++---- .../requests/UpdateGroupRequest.yaml | 6 ++-- .../requests/UpdateWorldRequest.yaml | 3 +- .../economy/UpdateTiliaTOSResponse.yaml | 3 +- .../schemas/AccountDeletionLog.yaml | 3 +- .../components/schemas/AdminAssetBundle.yaml | 3 +- openapi/components/schemas/Avatar.yaml | 9 ++--- openapi/components/schemas/Badge.yaml | 9 ++--- openapi/components/schemas/CalendarEvent.yaml | 15 +++------ .../schemas/CalendarEventRecurrence.yaml | 3 +- openapi/components/schemas/CurrentUser.yaml | 21 ++++-------- .../schemas/CurrentUserPresence.yaml | 27 +++++---------- .../components/schemas/DynamicContentRow.yaml | 24 +++++--------- .../components/schemas/EconomyAccount.yaml | 24 +++++--------- openapi/components/schemas/EconomyPayout.yaml | 18 ++++------ .../components/schemas/FavoritedWorld.yaml | 3 +- openapi/components/schemas/Feedback.yaml | 9 ++--- openapi/components/schemas/Group.yaml | 21 ++++-------- .../components/schemas/GroupAnnouncement.yaml | 15 +++------ openapi/components/schemas/GroupGallery.yaml | 12 +++---- openapi/components/schemas/GroupMember.yaml | 24 +++++--------- .../schemas/GroupMemberLimitedUser.yaml | 3 +- openapi/components/schemas/GroupMyMember.yaml | 12 +++---- openapi/components/schemas/GroupPost.yaml | 3 +- openapi/components/schemas/InfoPush.yaml | 6 ++-- openapi/components/schemas/InfoPushData.yaml | 12 +++---- openapi/components/schemas/Instance.yaml | 33 +++++++------------ .../components/schemas/InstanceOwnerId.yaml | 3 +- .../schemas/InstanceShortNameResponse.yaml | 3 +- openapi/components/schemas/InventoryDrop.yaml | 3 +- openapi/components/schemas/InventoryItem.yaml | 3 +- openapi/components/schemas/Jam.yaml | 15 +++------ openapi/components/schemas/LimitedGroup.yaml | 15 +++------ .../schemas/LimitedUnityPackage.yaml | 3 +- .../components/schemas/LimitedUserFriend.yaml | 9 ++--- .../components/schemas/LimitedUserGroups.yaml | 18 ++++------ .../schemas/LimitedUserInstance.yaml | 9 ++--- openapi/components/schemas/LimitedWorld.yaml | 3 +- .../components/schemas/ModerationReport.yaml | 3 +- openapi/components/schemas/Notification.yaml | 3 +- .../components/schemas/NotificationV2.yaml | 27 +++++---------- .../schemas/NotificationV2DetailsBoop.yaml | 3 +- .../schemas/NotificationV2Response.yaml | 3 +- .../components/schemas/PrivateProfile.yaml | 3 +- openapi/components/schemas/Product.yaml | 6 ++-- .../components/schemas/ProductListing.yaml | 18 ++++------ .../components/schemas/ProductPurchase.yaml | 9 ++--- .../schemas/ProductPurchaseProduct.yaml | 3 +- .../schemas/ProfileRepresentedGroup.yaml | 6 ++-- openapi/components/schemas/Prop.yaml | 3 +- .../components/schemas/RepresentedGroup.yaml | 12 +++---- openapi/components/schemas/StoreContext.yaml | 3 +- openapi/components/schemas/Transaction.yaml | 3 +- openapi/components/schemas/UnityPackage.yaml | 12 +++---- openapi/components/schemas/User.yaml | 9 ++--- .../schemas/WebsocketNotification.yaml | 3 +- openapi/components/schemas/World.yaml | 3 +- 60 files changed, 191 insertions(+), 382 deletions(-) diff --git a/openapi/components/requests/CreateGroupGalleryRequest.yaml b/openapi/components/requests/CreateGroupGalleryRequest.yaml index 474e1033..f78f7142 100644 --- a/openapi/components/requests/CreateGroupGalleryRequest.yaml +++ b/openapi/components/requests/CreateGroupGalleryRequest.yaml @@ -17,27 +17,23 @@ properties: example: Example Gallery minLength: 1 roleIdsToAutoApprove: - type: array + type: ['null', 'array'] description: " " - nullable: true items: $ref: ../schemas/GroupRoleID.yaml roleIdsToManage: - type: array + type: ['null', 'array'] description: " " - nullable: true items: $ref: ../schemas/GroupRoleID.yaml roleIdsToSubmit: - type: array + type: ['null', 'array'] description: " " - nullable: true items: $ref: ../schemas/GroupRoleID.yaml roleIdsToView: - type: array + type: ['null', 'array'] description: " " - nullable: true items: $ref: ../schemas/GroupRoleID.yaml required: diff --git a/openapi/components/requests/CreateGroupRequest.yaml b/openapi/components/requests/CreateGroupRequest.yaml index 94c5e75b..65474c36 100644 --- a/openapi/components/requests/CreateGroupRequest.yaml +++ b/openapi/components/requests/CreateGroupRequest.yaml @@ -2,16 +2,14 @@ title: CreateGroupRequest type: object properties: bannerId: - type: string - nullable: true + type: ['null', 'string'] default: null description: type: string maxLength: 250 minLength: 0 iconId: - type: string - nullable: true + type: ['null', 'string'] default: null joinState: $ref: ../schemas/GroupJoinState.yaml diff --git a/openapi/components/requests/CreateInstanceRequest.yaml b/openapi/components/requests/CreateInstanceRequest.yaml index d95396ed..30190367 100644 --- a/openapi/components/requests/CreateInstanceRequest.yaml +++ b/openapi/components/requests/CreateInstanceRequest.yaml @@ -29,16 +29,14 @@ properties: description: Currently unused, but will eventually be a flag to set if the closing of the instance should kick people. default: false instancePersistenceEnabled: - type: boolean - nullable: true + type: ['null', 'boolean'] inviteOnly: type: boolean default: false ownerId: $ref: ../schemas/InstanceOwnerId.yaml playerPersistenceEnabled: - type: boolean - nullable: true + type: ['null', 'boolean'] queueEnabled: type: boolean default: false diff --git a/openapi/components/requests/UpdateGroupGalleryRequest.yaml b/openapi/components/requests/UpdateGroupGalleryRequest.yaml index 018d092b..b0ede457 100644 --- a/openapi/components/requests/UpdateGroupGalleryRequest.yaml +++ b/openapi/components/requests/UpdateGroupGalleryRequest.yaml @@ -17,26 +17,22 @@ properties: example: Example Gallery minLength: 1 roleIdsToAutoApprove: - type: array + type: ['null', 'array'] description: " " - nullable: true items: $ref: ../schemas/GroupRoleID.yaml roleIdsToManage: - type: array + type: ['null', 'array'] description: " " - nullable: true items: $ref: ../schemas/GroupRoleID.yaml roleIdsToSubmit: - type: array + type: ['null', 'array'] description: " " - nullable: true items: $ref: ../schemas/GroupRoleID.yaml roleIdsToView: - type: array + type: ['null', 'array'] description: " " - nullable: true items: $ref: ../schemas/GroupRoleID.yaml diff --git a/openapi/components/requests/UpdateGroupRequest.yaml b/openapi/components/requests/UpdateGroupRequest.yaml index edac1f94..0cb11e6c 100644 --- a/openapi/components/requests/UpdateGroupRequest.yaml +++ b/openapi/components/requests/UpdateGroupRequest.yaml @@ -2,16 +2,14 @@ title: UpdateGroupRequest type: object properties: bannerId: - type: string - nullable: true + type: ['null', 'string'] default: null description: type: string maxLength: 250 minLength: 0 iconId: - type: string - nullable: true + type: ['null', 'string'] default: null joinState: $ref: ../schemas/GroupJoinState.yaml diff --git a/openapi/components/requests/UpdateWorldRequest.yaml b/openapi/components/requests/UpdateWorldRequest.yaml index d8ef5f1d..76ab01fc 100644 --- a/openapi/components/requests/UpdateWorldRequest.yaml +++ b/openapi/components/requests/UpdateWorldRequest.yaml @@ -32,8 +32,7 @@ properties: platform: $ref: ../schemas/Platform.yaml previewYoutubeId: - type: string - nullable: true + type: ['null', 'string'] recommendedCapacity: type: integer example: 4 diff --git a/openapi/components/responses/economy/UpdateTiliaTOSResponse.yaml b/openapi/components/responses/economy/UpdateTiliaTOSResponse.yaml index 2a61250d..ef058d6e 100644 --- a/openapi/components/responses/economy/UpdateTiliaTOSResponse.yaml +++ b/openapi/components/responses/economy/UpdateTiliaTOSResponse.yaml @@ -2,5 +2,4 @@ description: Returns a UserSubscription object. content: application/json: schema: - type: object - nullable: true + type: ['null', 'object'] diff --git a/openapi/components/schemas/AccountDeletionLog.yaml b/openapi/components/schemas/AccountDeletionLog.yaml index cbca3b38..ffb68367 100644 --- a/openapi/components/schemas/AccountDeletionLog.yaml +++ b/openapi/components/schemas/AccountDeletionLog.yaml @@ -6,9 +6,8 @@ properties: description: Date and time of the deletion request. format: date-time deletionScheduled: - type: string + type: ['null', 'string'] description: When the deletion is scheduled to happen, standard is 14 days after the request. - nullable: true format: date-time message: type: string diff --git a/openapi/components/schemas/AdminAssetBundle.yaml b/openapi/components/schemas/AdminAssetBundle.yaml index 11ad3e15..90fde67c 100644 --- a/openapi/components/schemas/AdminAssetBundle.yaml +++ b/openapi/components/schemas/AdminAssetBundle.yaml @@ -29,8 +29,7 @@ properties: thumbnailImageUrl: type: string unityPackageUrl: - type: string - nullable: true + type: ['null', 'string'] unityPackages: type: array items: diff --git a/openapi/components/schemas/Avatar.yaml b/openapi/components/schemas/Avatar.yaml index 765ba15d..079e1817 100644 --- a/openapi/components/schemas/Avatar.yaml +++ b/openapi/components/schemas/Avatar.yaml @@ -40,8 +40,7 @@ properties: type: string minLength: 1 listingDate: - type: string - nullable: true + type: ['null', 'string'] lock: type: boolean lowestPrice: @@ -95,11 +94,9 @@ properties: type: object properties: primary: - type: string - nullable: true + type: ['null', 'string'] secondary: - type: string - nullable: true + type: ['null', 'string'] supplementary: type: array items: diff --git a/openapi/components/schemas/Badge.yaml b/openapi/components/schemas/Badge.yaml index 75f400e9..05596ea4 100644 --- a/openapi/components/schemas/Badge.yaml +++ b/openapi/components/schemas/Badge.yaml @@ -2,9 +2,8 @@ title: Badge type: object properties: assignedAt: - type: string + type: ['null', 'string'] description: only present in CurrentUser badges - nullable: true format: date-time badgeDescription: type: string @@ -16,17 +15,15 @@ properties: badgeName: type: string hidden: - type: boolean + type: ['null', 'boolean'] description: only present in CurrentUser badges - nullable: true isQuantifiable: type: boolean showcased: type: boolean updatedAt: - type: string + type: ['null', 'string'] description: only present in CurrentUser badges - nullable: true format: date-time required: - badgeDescription diff --git a/openapi/components/schemas/CalendarEvent.yaml b/openapi/components/schemas/CalendarEvent.yaml index 8cfd6fbf..6dbabcb0 100644 --- a/openapi/components/schemas/CalendarEvent.yaml +++ b/openapi/components/schemas/CalendarEvent.yaml @@ -12,8 +12,7 @@ properties: type: string format: date-time deletedAt: - type: string - nullable: true + type: ['null', 'string'] format: date-time description: type: string @@ -35,8 +34,7 @@ properties: $ref: ./FileID.yaml nullable: true imageUrl: - type: string - nullable: true + type: ['null', 'string'] interestedUserCount: type: integer isDraft: @@ -49,8 +47,7 @@ properties: occurrenceKind: $ref: ./CalendarEventOccurrenceKind.yaml occurrenceModified: - type: boolean - nullable: true + type: ['null', 'boolean'] ownerId: $ref: ./GroupID.yaml platforms: @@ -60,15 +57,13 @@ properties: recurrence: $ref: ./CalendarEventRecurrence.yaml roleIds: - type: array + type: ['null', 'array'] description: Group roles that may join this event - nullable: true items: $ref: ./GroupRoleID.yaml seriesId: - type: string + type: ['null', 'string'] description: So far unused, always "null" - nullable: true startsAt: type: string format: date-time diff --git a/openapi/components/schemas/CalendarEventRecurrence.yaml b/openapi/components/schemas/CalendarEventRecurrence.yaml index 54aa32a1..3835cd72 100644 --- a/openapi/components/schemas/CalendarEventRecurrence.yaml +++ b/openapi/components/schemas/CalendarEventRecurrence.yaml @@ -1,7 +1,6 @@ title: CalendarEventRecurrence -type: object +type: ['null', 'object'] description: Details about how a recurring event will be scheduled. If the event is to be scheduled indefinitely, this will lack an "end" property. -nullable: true properties: daysOfWeek: type: array diff --git a/openapi/components/schemas/CurrentUser.yaml b/openapi/components/schemas/CurrentUser.yaml index 33176f62..b49204dc 100644 --- a/openapi/components/schemas/CurrentUser.yaml +++ b/openapi/components/schemas/CurrentUser.yaml @@ -10,13 +10,11 @@ properties: example: 7 minimum: 0 accountDeletionDate: - type: string - nullable: true + type: ['null', 'string'] format: date accountDeletionLog: - type: array + type: ['null', 'array'] description: " " - nullable: true items: $ref: ./AccountDeletionLog.yaml activeFriends: @@ -141,8 +139,7 @@ properties: type: string format: date-time last_mobile: - type: string - nullable: true + type: ['null', 'string'] format: date-time last_platform: $ref: ./Platform.yaml @@ -201,8 +198,7 @@ properties: items: type: string queuedInstance: - type: string - nullable: true + type: ['null', 'string'] receiveMobileInvitations: type: boolean state: @@ -239,8 +235,7 @@ properties: twoFactorAuthEnabled: type: boolean twoFactorAuthEnabledDate: - type: string - nullable: true + type: ['null', 'string'] format: date-time unsubscribe: type: boolean @@ -248,11 +243,9 @@ properties: type: string format: date-time userLanguage: - type: string - nullable: true + type: ['null', 'string'] userLanguageCode: - type: string - nullable: true + type: ['null', 'string'] username: type: string description: Your own unique name, used during login. Distinct from diff --git a/openapi/components/schemas/CurrentUserPresence.yaml b/openapi/components/schemas/CurrentUserPresence.yaml index fd3f167f..6db84ffa 100644 --- a/openapi/components/schemas/CurrentUserPresence.yaml +++ b/openapi/components/schemas/CurrentUserPresence.yaml @@ -4,8 +4,7 @@ properties: avatarImageUrl: type: string avatarThumbnail: - type: string - nullable: true + type: ['null', 'string'] banner: type: string bannerColor: @@ -21,8 +20,7 @@ properties: displayName: type: string groups: - type: array - nullable: true + type: ['null', 'array'] items: $ref: ./GroupID.yaml iconFrame: @@ -32,15 +30,12 @@ properties: id: $ref: ./UserID.yaml instance: - type: string - nullable: true + type: ['null', 'string'] instanceType: - type: string + type: ['null', 'string'] description: either an InstanceType or an empty string - nullable: true isRejoining: - type: string - nullable: true + type: ['null', 'string'] nameplateEffect: type: string platform: @@ -50,21 +45,17 @@ properties: profileEffect: type: string profilePicOverride: - type: string - nullable: true + type: ['null', 'string'] status: - type: string + type: ['null', 'string'] description: either a UserStatus or empty string - nullable: true travelingToInstance: - type: string - nullable: true + type: ['null', 'string'] travelingToWorld: $ref: ./LocationID.yaml nullable: true userIcon: - type: string - nullable: true + type: ['null', 'string'] world: $ref: ./WorldID.yaml nullable: true diff --git a/openapi/components/schemas/DynamicContentRow.yaml b/openapi/components/schemas/DynamicContentRow.yaml index 11a20134..6b3ce95f 100644 --- a/openapi/components/schemas/DynamicContentRow.yaml +++ b/openapi/components/schemas/DynamicContentRow.yaml @@ -2,13 +2,11 @@ title: DynamicContentRow type: object properties: anyStyle: - type: array - nullable: true + type: ['null', 'array'] items: type: string anyTag: - type: array - nullable: true + type: ['null', 'array'] items: type: string avatarSpecific: @@ -56,8 +54,7 @@ properties: nonFeaturedResults: type: string notag: - type: array - nullable: true + type: ['null', 'array'] items: type: string params: @@ -71,8 +68,7 @@ properties: description: 'Usually "ThisPlatformSupported", but can also be other values such as "all" or platform specific identifiers.' minLength: 1 region: - type: string - nullable: true + type: ['null', 'string'] scope: type: string example: all @@ -85,8 +81,7 @@ properties: - type: "null" - $ref: ./LocalizedString.yaml else: - type: string - nullable: true + type: ['null', 'string'] sortHeading: type: string minLength: 1 @@ -97,18 +92,15 @@ properties: type: string minLength: 1 style: - type: string - nullable: true + type: ['null', 'string'] tag: - type: string + type: ['null', 'string'] description: |- Tag to filter content for this row. Not a `Tag`: that type forbids the empty string, which this field uses for a row that is not tag-filtered. - nullable: true example: admin_spotlight_pc tags: - type: array - nullable: true + type: ['null', 'array'] items: $ref: ./Tag.yaml type: diff --git a/openapi/components/schemas/EconomyAccount.yaml b/openapi/components/schemas/EconomyAccount.yaml index 75529322..b57c135e 100644 --- a/openapi/components/schemas/EconomyAccount.yaml +++ b/openapi/components/schemas/EconomyAccount.yaml @@ -1,21 +1,16 @@ title: EconomyAccount -type: object -nullable: true +type: ['null', 'object'] properties: accountActivatedOn: - type: string - nullable: true + type: ['null', 'string'] format: date-time accountId: - type: integer - nullable: true + type: ['null', 'integer'] accountSellerRegisteredOn: - type: string - nullable: true + type: ['null', 'string'] format: date-time accountSellerStatus: - type: string - nullable: true + type: ['null', 'string'] blocked: type: boolean canEarn: @@ -27,16 +22,13 @@ properties: limits: $ref: ./EconomyAccountLimits.yaml skrillEmail: - type: string - nullable: true + type: ['null', 'string'] source: type: string tiliaId: - type: string - nullable: true + type: ['null', 'string'] tiliaType: - type: string - nullable: true + type: ['null', 'string'] userId: $ref: ./UserID.yaml required: diff --git a/openapi/components/schemas/EconomyPayout.yaml b/openapi/components/schemas/EconomyPayout.yaml index 380eb8e6..8a2f4c88 100644 --- a/openapi/components/schemas/EconomyPayout.yaml +++ b/openapi/components/schemas/EconomyPayout.yaml @@ -22,24 +22,18 @@ properties: type: string format: date-time platformPaymentGuid: - type: string - nullable: true + type: ['null', 'string'] platformPaymentMethod: - type: string - nullable: true + type: ['null', 'string'] reversalDate: - type: string - nullable: true + type: ['null', 'string'] format: date-time reversalReason: - type: string - nullable: true + type: ['null', 'string'] reversalReasonCode: - type: integer - nullable: true + type: ['null', 'integer'] reversalTransactionId: - type: integer - nullable: true + type: ['null', 'integer'] transactionId: type: integer required: diff --git a/openapi/components/schemas/FavoritedWorld.yaml b/openapi/components/schemas/FavoritedWorld.yaml index de7e4584..fcb6610d 100644 --- a/openapi/components/schemas/FavoritedWorld.yaml +++ b/openapi/components/schemas/FavoritedWorld.yaml @@ -68,8 +68,7 @@ properties: example: 8 minimum: 0 previewYoutubeId: - type: string - nullable: true + type: ['null', 'string'] publicationDate: type: string example: none diff --git a/openapi/components/schemas/Feedback.yaml b/openapi/components/schemas/Feedback.yaml index a6a84c9f..5fd4bce1 100644 --- a/openapi/components/schemas/Feedback.yaml +++ b/openapi/components/schemas/Feedback.yaml @@ -9,8 +9,7 @@ properties: $ref: ./UserID.yaml nullable: true contentAuthorName: - type: string - nullable: true + type: ['null', 'string'] contentId: type: string contentName: @@ -18,11 +17,9 @@ properties: contentType: type: string contentVersion: - type: integer - nullable: true + type: ['null', 'integer'] description: - type: string - nullable: true + type: ['null', 'string'] id: $ref: ./FeedbackID.yaml reason: diff --git a/openapi/components/schemas/Group.yaml b/openapi/components/schemas/Group.yaml index be0d9ff4..41f2077e 100644 --- a/openapi/components/schemas/Group.yaml +++ b/openapi/components/schemas/Group.yaml @@ -16,11 +16,9 @@ properties: items: type: string bannerId: - type: string - nullable: true + type: ['null', 'string'] bannerUrl: - type: string - nullable: true + type: ['null', 'string'] createdAt: type: string format: date-time @@ -33,11 +31,9 @@ properties: items: $ref: ./GroupGallery.yaml iconId: - type: string - nullable: true + type: ['null', 'string'] iconUrl: - type: string - nullable: true + type: ['null', 'string'] id: $ref: ./GroupID.yaml isVerified: @@ -50,8 +46,7 @@ properties: items: type: string lastPostCreatedAt: - type: string - nullable: true + type: ['null', 'string'] format: date-time links: type: array @@ -78,14 +73,12 @@ properties: privacy: $ref: ./GroupPrivacy.yaml roles: - type: array + type: ['null', 'array'] description: Only returned if ?includeRoles=true is specified. - nullable: true items: $ref: ./GroupRole.yaml rules: - type: string - nullable: true + type: ['null', 'string'] shortCode: $ref: ./GroupShortCode.yaml storeId: diff --git a/openapi/components/schemas/GroupAnnouncement.yaml b/openapi/components/schemas/GroupAnnouncement.yaml index d7e680dd..e6c68ecd 100644 --- a/openapi/components/schemas/GroupAnnouncement.yaml +++ b/openapi/components/schemas/GroupAnnouncement.yaml @@ -8,8 +8,7 @@ properties: $ref: ./UserID.yaml nullable: true createdAt: - type: string - nullable: true + type: ['null', 'string'] format: date-time editorId: $ref: ./UserID.yaml @@ -24,19 +23,15 @@ properties: $ref: ./FileID.yaml nullable: true imageUrl: - type: string - nullable: true + type: ['null', 'string'] roleIds: $ref: ./GroupRoleIDList.yaml text: - type: string - nullable: true + type: ['null', 'string'] title: - type: string - nullable: true + type: ['null', 'string'] updatedAt: - type: string - nullable: true + type: ['null', 'string'] format: date-time visibility: type: string diff --git a/openapi/components/schemas/GroupGallery.yaml b/openapi/components/schemas/GroupGallery.yaml index c1eee254..f003e229 100644 --- a/openapi/components/schemas/GroupGallery.yaml +++ b/openapi/components/schemas/GroupGallery.yaml @@ -22,27 +22,23 @@ properties: example: Example Gallery minLength: 1 roleIdsToAutoApprove: - type: array + type: ['null', 'array'] description: " " - nullable: true items: $ref: ./GroupRoleID.yaml roleIdsToManage: - type: array + type: ['null', 'array'] description: " " - nullable: true items: $ref: ./GroupRoleID.yaml roleIdsToSubmit: - type: array + type: ['null', 'array'] description: " " - nullable: true items: $ref: ./GroupRoleID.yaml roleIdsToView: - type: array + type: ['null', 'array'] description: " " - nullable: true items: $ref: ./GroupRoleID.yaml updatedAt: diff --git a/openapi/components/schemas/GroupMember.yaml b/openapi/components/schemas/GroupMember.yaml index 8d357905..8fe555d6 100644 --- a/openapi/components/schemas/GroupMember.yaml +++ b/openapi/components/schemas/GroupMember.yaml @@ -1,25 +1,20 @@ title: GroupMember -type: object +type: ['null', 'object'] description: May be null when attempting to retrieve group membership for a user who is not part of the group -nullable: true properties: acceptedByDisplayName: - type: string + type: ['null', 'string'] description: Only missing when explicitly fetching own user. - nullable: true acceptedById: - type: string + type: ['null', 'string'] description: Only missing when explicitly fetching own user. - nullable: true bannedAt: - type: string + type: ['null', 'string'] description: Only missing when explicitly fetching own user. - nullable: true format: date-time createdAt: - type: string + type: ['null', 'string'] description: Only missing when explicitly fetching own user. - nullable: true format: date-time groupId: $ref: ./GroupID.yaml @@ -40,21 +35,18 @@ properties: type: boolean description: Only missing when explicitly fetching own user. joinedAt: - type: string - nullable: true + type: ['null', 'string'] format: date-time lastPostReadAt: - type: string - nullable: true + type: ['null', 'string'] format: date-time mRoleIds: type: array items: $ref: ./GroupRoleID.yaml managerNotes: - type: string + type: ['null', 'string'] description: Only missing when explicitly fetching own user. - nullable: true membershipStatus: $ref: ./GroupMemberStatus.yaml roleIds: diff --git a/openapi/components/schemas/GroupMemberLimitedUser.yaml b/openapi/components/schemas/GroupMemberLimitedUser.yaml index 6b70ab59..95260675 100644 --- a/openapi/components/schemas/GroupMemberLimitedUser.yaml +++ b/openapi/components/schemas/GroupMemberLimitedUser.yaml @@ -1,7 +1,6 @@ title: GroupMemberLimitedUser -type: object +type: ['null', 'object'] description: "Only visible via the /groups/:groupId/members endpoint, **not** when fetching a specific user." -nullable: true properties: bannerColor: $ref: ./Color.yaml diff --git a/openapi/components/schemas/GroupMyMember.yaml b/openapi/components/schemas/GroupMyMember.yaml index 7b50caa5..d9446a1d 100644 --- a/openapi/components/schemas/GroupMyMember.yaml +++ b/openapi/components/schemas/GroupMyMember.yaml @@ -2,14 +2,11 @@ title: GroupMyMember type: object properties: acceptedByDisplayName: - type: string - nullable: true + type: ['null', 'string'] acceptedById: - type: string - nullable: true + type: ['null', 'string'] bannedAt: - type: string - nullable: true + type: ['null', 'string'] createdAt: type: string format: date-time @@ -35,8 +32,7 @@ properties: type: string format: date-time lastPostReadAt: - type: string - nullable: true + type: ['null', 'string'] format: date-time mRoleIds: type: array diff --git a/openapi/components/schemas/GroupPost.yaml b/openapi/components/schemas/GroupPost.yaml index 83431991..a25f476f 100644 --- a/openapi/components/schemas/GroupPost.yaml +++ b/openapi/components/schemas/GroupPost.yaml @@ -17,8 +17,7 @@ properties: $ref: ./FileID.yaml nullable: true imageUrl: - type: string - nullable: true + type: ['null', 'string'] roleIds: $ref: ./GroupRoleIDList.yaml text: diff --git a/openapi/components/schemas/InfoPush.yaml b/openapi/components/schemas/InfoPush.yaml index fd52b754..9f56102e 100644 --- a/openapi/components/schemas/InfoPush.yaml +++ b/openapi/components/schemas/InfoPush.yaml @@ -9,8 +9,7 @@ properties: data: $ref: ./InfoPushData.yaml endDate: - type: string - nullable: true + type: ['null', 'string'] format: date-time experiment: $ref: ./InfoPushExperiment.yaml @@ -38,9 +37,8 @@ properties: items: type: string startDate: - type: string + type: ['null', 'string'] description: "" - nullable: true format: date-time tags: type: array diff --git a/openapi/components/schemas/InfoPushData.yaml b/openapi/components/schemas/InfoPushData.yaml index f9abb2c8..448931c4 100644 --- a/openapi/components/schemas/InfoPushData.yaml +++ b/openapi/components/schemas/InfoPushData.yaml @@ -45,8 +45,7 @@ properties: iconImageUrl: type: string imageUrl: - type: string - nullable: true + type: ['null', 'string'] ipsQuery: $ref: ./InfoPushIpsQuery.yaml isNew: @@ -68,9 +67,8 @@ properties: $ref: ./InfoPushDataClickable.yaml overrideName: {} rows: - type: integer + type: ['null', 'integer'] description: Number of rows to render. - nullable: true search: $ref: ./InfoPushDataSearch.yaml shortName: @@ -82,13 +80,11 @@ properties: - type: "null" - $ref: ./LocalizedString.yaml else: - type: string - nullable: true + type: ['null', 'string'] template: type: string thumbnailImageUrl: - type: string - nullable: true + type: ['null', 'string'] tooltipDescription: x-if: when: jsonschema diff --git a/openapi/components/schemas/Instance.yaml b/openapi/components/schemas/Instance.yaml index 71a3e1b6..5cd6cfb5 100644 --- a/openapi/components/schemas/Instance.yaml +++ b/openapi/components/schemas/Instance.yaml @@ -10,11 +10,9 @@ properties: default: true example: true ageGate: - type: boolean - nullable: true + type: ['null', 'boolean'] calendarEntryId: - type: string - nullable: true + type: ['null', 'string'] canRequestInvite: type: boolean default: true @@ -32,8 +30,7 @@ properties: description: Always returns "unknown". minLength: 1 closedAt: - type: string - nullable: true + type: ['null', 'string'] format: date-time contentSettings: $ref: ./InstanceContentSettings.yaml @@ -44,14 +41,12 @@ properties: $ref: ./UserID.yaml nullable: true description: - type: string - nullable: true + type: ['null', 'string'] disabledPropAbilities: type: array items: {} displayName: - type: string - nullable: true + type: ['null', 'string'] dominantLanguage: type: string friends: @@ -60,13 +55,11 @@ properties: type: boolean default: false gameServerVersion: - type: integer - nullable: true + type: ['null', 'integer'] groupAccessType: $ref: ./GroupAccessType.yaml hardClose: - type: boolean - nullable: true + type: ['null', 'boolean'] hasCapacityForYou: type: boolean hidden: @@ -76,8 +69,7 @@ properties: instanceId: $ref: ./InstanceID.yaml instancePersistenceEnabled: - type: boolean - nullable: true + type: ['null', 'boolean'] languageRatio: type: object additionalProperties: true @@ -94,8 +86,7 @@ properties: location: $ref: ./LocationID.yaml minimumAvatarPerformance: - type: string - nullable: true + type: ['null', 'string'] n_users: type: integer example: 6 @@ -116,8 +107,7 @@ properties: platforms: $ref: ./InstancePlatforms.yaml playerPersistenceEnabled: - type: boolean - nullable: true + type: ['null', 'boolean'] private: $ref: ./UserID.yaml queueEnabled: @@ -139,8 +129,7 @@ properties: example: 7eavhhng minLength: 1 shortName: - type: string - nullable: true + type: ['null', 'string'] example: 02u7yz8j minLength: 1 strict: diff --git a/openapi/components/schemas/InstanceOwnerId.yaml b/openapi/components/schemas/InstanceOwnerId.yaml index ea10736c..025f168d 100644 --- a/openapi/components/schemas/InstanceOwnerId.yaml +++ b/openapi/components/schemas/InstanceOwnerId.yaml @@ -1,5 +1,4 @@ title: InstanceOwnerId -type: string +type: ['null', 'string'] description: A groupId if the instance type is "group", null if instance type is public, or a userId otherwise -nullable: true example: usr_c1644b5b-3ca4-45b4-97c6-a2a0de70d469 diff --git a/openapi/components/schemas/InstanceShortNameResponse.yaml b/openapi/components/schemas/InstanceShortNameResponse.yaml index 25e37b6f..fe1acac1 100644 --- a/openapi/components/schemas/InstanceShortNameResponse.yaml +++ b/openapi/components/schemas/InstanceShortNameResponse.yaml @@ -6,8 +6,7 @@ properties: example: 7eavhhng minLength: 1 shortName: - type: string - nullable: true + type: ['null', 'string'] example: 02u7yz8j minLength: 1 required: diff --git a/openapi/components/schemas/InventoryDrop.yaml b/openapi/components/schemas/InventoryDrop.yaml index 19c2fb80..08953d2f 100644 --- a/openapi/components/schemas/InventoryDrop.yaml +++ b/openapi/components/schemas/InventoryDrop.yaml @@ -8,8 +8,7 @@ properties: example: "2025-06-10T20:37:31.837Z" format: date-time dropExpiryDate: - type: string - nullable: true + type: ['null', 'string'] format: date-time dropStatus: type: string diff --git a/openapi/components/schemas/InventoryItem.yaml b/openapi/components/schemas/InventoryItem.yaml index 9b18c308..43385adf 100644 --- a/openapi/components/schemas/InventoryItem.yaml +++ b/openapi/components/schemas/InventoryItem.yaml @@ -23,8 +23,7 @@ properties: items: $ref: ./InventoryEquipSlot.yaml expiryDate: - type: string - nullable: true + type: ['null', 'string'] example: "2025-06-13T05:00:45.455Z" format: date-time flags: diff --git a/openapi/components/schemas/Jam.yaml b/openapi/components/schemas/Jam.yaml index b0b2a2d0..9b4b8431 100644 --- a/openapi/components/schemas/Jam.yaml +++ b/openapi/components/schemas/Jam.yaml @@ -26,25 +26,20 @@ properties: type: object properties: closed: - type: string - nullable: true + type: ['null', 'string'] format: date-time submissionsClosed: - type: string - nullable: true + type: ['null', 'string'] format: date-time submissionsOpened: - type: string - nullable: true + type: ['null', 'string'] format: date-time winnersSelected: - type: string - nullable: true + type: ['null', 'string'] example: null format: date-time submissionContentGateDate: - type: string - nullable: true + type: ['null', 'string'] format: date-time submissionContentGated: type: boolean diff --git a/openapi/components/schemas/LimitedGroup.yaml b/openapi/components/schemas/LimitedGroup.yaml index e7015f78..e4391c45 100644 --- a/openapi/components/schemas/LimitedGroup.yaml +++ b/openapi/components/schemas/LimitedGroup.yaml @@ -2,11 +2,9 @@ title: LimitedGroup type: object properties: bannerId: - type: string - nullable: true + type: ['null', 'string'] bannerUrl: - type: string - nullable: true + type: ['null', 'string'] createdAt: type: string format: date-time @@ -20,11 +18,9 @@ properties: items: $ref: ./GroupGallery.yaml iconId: - type: string - nullable: true + type: ['null', 'string'] iconUrl: - type: string - nullable: true + type: ['null', 'string'] id: $ref: ./GroupID.yaml isSearchable: @@ -40,8 +36,7 @@ properties: ownerId: $ref: ./UserID.yaml rules: - type: string - nullable: true + type: ['null', 'string'] shortCode: $ref: ./GroupShortCode.yaml tags: diff --git a/openapi/components/schemas/LimitedUnityPackage.yaml b/openapi/components/schemas/LimitedUnityPackage.yaml index 3489c046..0472d2a1 100644 --- a/openapi/components/schemas/LimitedUnityPackage.yaml +++ b/openapi/components/schemas/LimitedUnityPackage.yaml @@ -3,8 +3,7 @@ type: object description: "" properties: created_at: - type: string - nullable: true + type: ['null', 'string'] format: date-time platform: $ref: ./Platform.yaml diff --git a/openapi/components/schemas/LimitedUserFriend.yaml b/openapi/components/schemas/LimitedUserFriend.yaml index 2f3c310d..6c4551aa 100644 --- a/openapi/components/schemas/LimitedUserFriend.yaml +++ b/openapi/components/schemas/LimitedUserFriend.yaml @@ -25,16 +25,13 @@ properties: isFriend: type: boolean last_activity: - type: string - nullable: true + type: ['null', 'string'] format: date-time last_login: - type: string - nullable: true + type: ['null', 'string'] format: date-time last_mobile: - type: string - nullable: true + type: ['null', 'string'] format: date-time last_platform: $ref: ./Platform.yaml diff --git a/openapi/components/schemas/LimitedUserGroups.yaml b/openapi/components/schemas/LimitedUserGroups.yaml index 7774afb4..044fbfe6 100644 --- a/openapi/components/schemas/LimitedUserGroups.yaml +++ b/openapi/components/schemas/LimitedUserGroups.yaml @@ -2,11 +2,9 @@ title: LimitedUserGroups type: object properties: bannerId: - type: string - nullable: true + type: ['null', 'string'] bannerUrl: - type: string - nullable: true + type: ['null', 'string'] description: type: string discriminator: @@ -14,22 +12,18 @@ properties: groupId: $ref: ./GroupID.yaml iconId: - type: string - nullable: true + type: ['null', 'string'] iconUrl: - type: string - nullable: true + type: ['null', 'string'] id: $ref: ./GroupMemberID.yaml isRepresenting: type: boolean lastPostCreatedAt: - type: string - nullable: true + type: ['null', 'string'] format: date-time lastPostReadAt: - type: string - nullable: true + type: ['null', 'string'] format: date-time memberCount: type: integer diff --git a/openapi/components/schemas/LimitedUserInstance.yaml b/openapi/components/schemas/LimitedUserInstance.yaml index a2f2e311..ed2c13fc 100644 --- a/openapi/components/schemas/LimitedUserInstance.yaml +++ b/openapi/components/schemas/LimitedUserInstance.yaml @@ -24,8 +24,7 @@ properties: currentAvatarThumbnailImageUrl: $ref: ./CurrentAvatarThumbnailImageUrl.yaml date_joined: - type: string - nullable: true + type: ['null', 'string'] format: date-time developerType: $ref: ./DeveloperType.yaml @@ -40,12 +39,10 @@ properties: isFriend: type: boolean last_activity: - type: string - nullable: true + type: ['null', 'string'] format: date-time last_mobile: - type: string - nullable: true + type: ['null', 'string'] format: date-time last_platform: $ref: ./Platform.yaml diff --git a/openapi/components/schemas/LimitedWorld.yaml b/openapi/components/schemas/LimitedWorld.yaml index d61d6eb6..81e3e8ab 100644 --- a/openapi/components/schemas/LimitedWorld.yaml +++ b/openapi/components/schemas/LimitedWorld.yaml @@ -59,8 +59,7 @@ properties: example: 8 minimum: 0 previewYoutubeId: - type: string - nullable: true + type: ['null', 'string'] publicationDate: type: string example: none diff --git a/openapi/components/schemas/ModerationReport.yaml b/openapi/components/schemas/ModerationReport.yaml index 0c832c4d..cf1a758f 100644 --- a/openapi/components/schemas/ModerationReport.yaml +++ b/openapi/components/schemas/ModerationReport.yaml @@ -11,8 +11,7 @@ properties: contentName: type: string contentThumbnailImageUrl: - type: string - nullable: true + type: ['null', 'string'] description: type: string description: The subjective reason for the report diff --git a/openapi/components/schemas/Notification.yaml b/openapi/components/schemas/Notification.yaml index f240aae9..8eb7075b 100644 --- a/openapi/components/schemas/Notification.yaml +++ b/openapi/components/schemas/Notification.yaml @@ -46,9 +46,8 @@ properties: senderUserId: $ref: ./UserID.yaml senderUsername: - type: string + type: ['null', 'string'] description: The name of the user who sent the notification. - nullable: true minLength: 1 type: $ref: ./NotificationType.yaml diff --git a/openapi/components/schemas/NotificationV2.yaml b/openapi/components/schemas/NotificationV2.yaml index 99ce7b4f..ab9f4070 100644 --- a/openapi/components/schemas/NotificationV2.yaml +++ b/openapi/components/schemas/NotificationV2.yaml @@ -30,38 +30,31 @@ properties: type: string format: date-time expiryAfterSeen: - type: integer - nullable: true + type: ['null', 'integer'] id: type: string ignoreDND: type: boolean imageUrl: - type: string - nullable: true + type: ['null', 'string'] isSystem: type: boolean link: - type: string - nullable: true + type: ['null', 'string'] example: "event:grp_00000000-0000-0000-0000-000000000000,cal_00000000-0000-0000\ -0000-000000000000" linkText: - type: string - nullable: true + type: ['null', 'string'] linkTextKey: - type: string - nullable: true + type: ['null', 'string'] message: type: string messageKey: - type: string - nullable: true + type: ['null', 'string'] receiverUserId: $ref: ./UserID.yaml relatedNotificationsId: - type: string - nullable: true + type: ['null', 'string'] example: cal_00000000-0000-0000-0000-000000000000 requireSeen: type: boolean @@ -75,13 +68,11 @@ properties: $ref: ./UserID.yaml nullable: true senderUsername: - type: string - nullable: true + type: ['null', 'string'] title: type: string titleKey: - type: string - nullable: true + type: ['null', 'string'] type: $ref: ./NotificationV2Type.yaml updatedAt: diff --git a/openapi/components/schemas/NotificationV2DetailsBoop.yaml b/openapi/components/schemas/NotificationV2DetailsBoop.yaml index c9f5de1b..8826c9c1 100644 --- a/openapi/components/schemas/NotificationV2DetailsBoop.yaml +++ b/openapi/components/schemas/NotificationV2DetailsBoop.yaml @@ -5,8 +5,7 @@ properties: emojiId: $ref: ../schemas/EmojiID.yaml emojiVersion: - type: integer - nullable: true + type: ['null', 'integer'] inventoryItemId: $ref: ../schemas/InventoryItemID.yaml required: diff --git a/openapi/components/schemas/NotificationV2Response.yaml b/openapi/components/schemas/NotificationV2Response.yaml index 3a12a9ad..2f056c69 100644 --- a/openapi/components/schemas/NotificationV2Response.yaml +++ b/openapi/components/schemas/NotificationV2Response.yaml @@ -8,8 +8,7 @@ properties: text: type: string textKey: - type: string - nullable: true + type: ['null', 'string'] type: $ref: ./NotificationV2ResponseType.yaml required: diff --git a/openapi/components/schemas/PrivateProfile.yaml b/openapi/components/schemas/PrivateProfile.yaml index 0447a6dc..595f3ad4 100644 --- a/openapi/components/schemas/PrivateProfile.yaml +++ b/openapi/components/schemas/PrivateProfile.yaml @@ -10,8 +10,7 @@ properties: isFriend: type: boolean note: - type: string - nullable: true + type: ['null', 'string'] status: $ref: ./UserStatus.yaml statusDescription: diff --git a/openapi/components/schemas/Product.yaml b/openapi/components/schemas/Product.yaml index eb9fcd07..4b117237 100644 --- a/openapi/components/schemas/Product.yaml +++ b/openapi/components/schemas/Product.yaml @@ -26,8 +26,7 @@ properties: $ref: ./FileID.yaml nullable: true imageUrl: - type: string - nullable: true + type: ['null', 'string'] parentListings: type: array items: @@ -49,8 +48,7 @@ properties: items: $ref: ./Tag.yaml updated: - type: string - nullable: true + type: ['null', 'string'] format: date-time useForSubscriberList: type: boolean diff --git a/openapi/components/schemas/ProductListing.yaml b/openapi/components/schemas/ProductListing.yaml index 2b75a471..cfa00067 100644 --- a/openapi/components/schemas/ProductListing.yaml +++ b/openapi/components/schemas/ProductListing.yaml @@ -10,8 +10,7 @@ properties: buyerRefundable: type: boolean collabUserDisplayName: - type: string - nullable: true + type: ['null', 'string'] collabUserId: $ref: ./UserID.yaml created: @@ -22,19 +21,16 @@ properties: displayName: type: string duration: - type: integer - nullable: true + type: ['null', 'integer'] durationType: - type: string - nullable: true + type: ['null', 'string'] groupIcon: $ref: ./FileID.yaml nullable: true groupId: $ref: ./GroupID.yaml groupName: - type: string - nullable: true + type: ['null', 'string'] hasAvatar: type: boolean hasCompanion: @@ -53,8 +49,7 @@ properties: $ref: ./FileID.yaml nullable: true imageUrl: - type: string - nullable: true + type: ['null', 'string'] listingType: $ref: ./ProductListingType.yaml listingVariants: @@ -114,8 +109,7 @@ properties: vrcPlusDiscountPrice: type: integer whenToExpire: - type: string - nullable: true + type: ['null', 'string'] format: date-time required: - active diff --git a/openapi/components/schemas/ProductPurchase.yaml b/openapi/components/schemas/ProductPurchase.yaml index 7d9862e5..c1118af2 100644 --- a/openapi/components/schemas/ProductPurchase.yaml +++ b/openapi/components/schemas/ProductPurchase.yaml @@ -58,8 +58,7 @@ properties: purchaseDurationType: type: string purchaseEndDate: - type: string - nullable: true + type: ['null', 'string'] format: date-time purchaseFee: type: integer @@ -72,12 +71,10 @@ properties: purchaseQuantity: type: integer purchaseStartDate: - type: string - nullable: true + type: ['null', 'string'] format: date-time purchaseToken: - type: object - nullable: true + type: ['null', 'object'] purchaseType: type: string purchaseUnitPrice: diff --git a/openapi/components/schemas/ProductPurchaseProduct.yaml b/openapi/components/schemas/ProductPurchaseProduct.yaml index f0bf8a44..6e97271b 100644 --- a/openapi/components/schemas/ProductPurchaseProduct.yaml +++ b/openapi/components/schemas/ProductPurchaseProduct.yaml @@ -9,8 +9,7 @@ properties: $ref: ./FileID.yaml nullable: true licenseId: - type: string - nullable: true + type: ['null', 'string'] productType: $ref: ./ProductType.yaml required: diff --git a/openapi/components/schemas/ProfileRepresentedGroup.yaml b/openapi/components/schemas/ProfileRepresentedGroup.yaml index 259972c4..b7212abf 100644 --- a/openapi/components/schemas/ProfileRepresentedGroup.yaml +++ b/openapi/components/schemas/ProfileRepresentedGroup.yaml @@ -2,11 +2,9 @@ title: ProfileRepresentedGroup type: object properties: bannerUrl: - type: string - nullable: true + type: ['null', 'string'] iconUrl: - type: string - nullable: true + type: ['null', 'string'] id: $ref: ./GroupID.yaml name: diff --git a/openapi/components/schemas/Prop.yaml b/openapi/components/schemas/Prop.yaml index 43a7df88..ad52f867 100644 --- a/openapi/components/schemas/Prop.yaml +++ b/openapi/components/schemas/Prop.yaml @@ -34,8 +34,7 @@ properties: thumbnailImageUrl: type: string unityPackageUrl: - type: string - nullable: true + type: ['null', 'string'] unityPackages: type: array items: diff --git a/openapi/components/schemas/RepresentedGroup.yaml b/openapi/components/schemas/RepresentedGroup.yaml index 350516df..d0f13197 100644 --- a/openapi/components/schemas/RepresentedGroup.yaml +++ b/openapi/components/schemas/RepresentedGroup.yaml @@ -2,11 +2,9 @@ title: RepresentedGroup type: object properties: bannerId: - type: string - nullable: true + type: ['null', 'string'] bannerUrl: - type: string - nullable: true + type: ['null', 'string'] description: type: string discriminator: @@ -14,11 +12,9 @@ properties: groupId: $ref: ./GroupID.yaml iconId: - type: string - nullable: true + type: ['null', 'string'] iconUrl: - type: string - nullable: true + type: ['null', 'string'] isRepresenting: type: boolean memberCount: diff --git a/openapi/components/schemas/StoreContext.yaml b/openapi/components/schemas/StoreContext.yaml index 47d9f011..dc2cf53d 100644 --- a/openapi/components/schemas/StoreContext.yaml +++ b/openapi/components/schemas/StoreContext.yaml @@ -4,8 +4,7 @@ properties: id: type: string imageUrl: - type: string - nullable: true + type: ['null', 'string'] name: type: string required: diff --git a/openapi/components/schemas/Transaction.yaml b/openapi/components/schemas/Transaction.yaml index 4205596b..f69ba327 100644 --- a/openapi/components/schemas/Transaction.yaml +++ b/openapi/components/schemas/Transaction.yaml @@ -15,8 +15,7 @@ properties: type: string format: date-time error: - type: string - nullable: true + type: ['null', 'string'] id: $ref: ./TransactionID.yaml isGift: diff --git a/openapi/components/schemas/UnityPackage.yaml b/openapi/components/schemas/UnityPackage.yaml index 9cd143cf..39851fc3 100644 --- a/openapi/components/schemas/UnityPackage.yaml +++ b/openapi/components/schemas/UnityPackage.yaml @@ -3,8 +3,7 @@ type: object description: "" properties: assetUrl: - type: string - nullable: true + type: ['null', 'string'] example: https://api.vrchat.cloud/api/1/file/file_cd0caa7b-69ba-4715-8dfe-7d667a9d2537/65/file assetUrlObject: type: object @@ -14,15 +13,13 @@ properties: example: 4 minimum: 0 created_at: - type: string - nullable: true + type: ['null', 'string'] example: "2020-09-10T06:13:27.777Z" format: date-time id: $ref: ./UnityPackageID.yaml impostorUrl: - type: string - nullable: true + type: ['null', 'string'] impostorizerVersion: type: string example: 0.17.0 @@ -51,8 +48,7 @@ properties: variant: type: string worldSignature: - type: string - nullable: true + type: ['null', 'string'] example: AHiPAWerwCpeYrxDthF5TU2SdUWEWnm43UAn8PKRXlS8k8tVRQ== required: - assetVersion diff --git a/openapi/components/schemas/User.yaml b/openapi/components/schemas/User.yaml index 62ca3ded..5a2ba5f8 100644 --- a/openapi/components/schemas/User.yaml +++ b/openapi/components/schemas/User.yaml @@ -6,11 +6,9 @@ properties: acceptedTOSVersion: type: integer accountDeletionDate: - type: string - nullable: true + type: ['null', 'string'] accountDeletionLog: - type: array - nullable: true + type: ['null', 'array'] items: {} ageVerificationStatus: $ref: ./AgeVerificationStatus.yaml @@ -60,8 +58,7 @@ properties: type: string description: Either a date-time or empty string. last_mobile: - type: string - nullable: true + type: ['null', 'string'] last_platform: $ref: ./Platform.yaml location: diff --git a/openapi/components/schemas/WebsocketNotification.yaml b/openapi/components/schemas/WebsocketNotification.yaml index 00e80fe3..2a21fd5b 100644 --- a/openapi/components/schemas/WebsocketNotification.yaml +++ b/openapi/components/schemas/WebsocketNotification.yaml @@ -43,9 +43,8 @@ properties: senderUserId: $ref: ./UserID.yaml senderUsername: - type: string + type: ['null', 'string'] description: The name of the user who sent the notification. - nullable: true minLength: 1 type: $ref: ./NotificationType.yaml diff --git a/openapi/components/schemas/World.yaml b/openapi/components/schemas/World.yaml index 51d83853..df2d1f8f 100644 --- a/openapi/components/schemas/World.yaml +++ b/openapi/components/schemas/World.yaml @@ -78,8 +78,7 @@ properties: example: 8 minimum: 0 previewYoutubeId: - type: string - nullable: true + type: ['null', 'string'] privateOccupants: type: integer description: Will always be `0` when unauthenticated. From ee803b30167a17b4a8c48955f97f4a4a87f7360e Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Thu, 17 Sep 2026 01:44:50 +0200 Subject: [PATCH 29/30] Fix Encoded Types Created using `for i in WebsocketNotification.yaml WebsocketResponseNotification.yaml WebsocketNotificationV2Update.yaml WebsocketNotificationV2Delete.yaml WebsocketFriendAdd.yaml WebsocketFriendDelete.yaml WebsocketFriendOnline.yaml WebsocketFriendActive.yaml WebsocketFriendOffline.yaml WebsocketFriendUpdate.yaml WebsocketFriendLocation.yaml WebsocketUserUpdate.yaml WebsocketUserLocation.yaml WebsocketUserBadgeAssigned.yaml WebsocketUserBadgeUnassigned.yaml WebsocketContentRefresh.yaml WebsocketInstanceQueueJoined.yaml WebsocketInstanceQueueReady.yaml WebsocketGroupJoined.yaml WebsocketGroupLeft.yaml WebsocketGroupMemberUpdated.yaml WebsocketGroupRoleUpdated.yaml; do echo -e "title: ${i%.*}Encoded\ntype: object\nproperties:\n content:\n type: string\n contentMediaType: application/json\n contentSchema:\n \$ref: ./${i}\nrequired:\n - content" > ${i%.*}Encoded.yaml; done` --- .../components/schemas/WebsocketContentRefreshEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendActiveEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendAddEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml | 2 +- .../components/schemas/WebsocketFriendLocationEncoded.yaml | 2 +- .../components/schemas/WebsocketFriendOfflineEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml | 2 +- openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml | 2 +- openapi/components/schemas/WebsocketGroupLeftEncoded.yaml | 2 +- .../schemas/WebsocketGroupMemberUpdatedEncoded.yaml | 2 +- .../components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml | 2 +- .../schemas/WebsocketInstanceQueueJoinedEncoded.yaml | 2 +- .../schemas/WebsocketInstanceQueueReadyEncoded.yaml | 2 +- openapi/components/schemas/WebsocketMessageDoubleJson.yaml | 5 +++++ openapi/components/schemas/WebsocketNotificationEncoded.yaml | 2 +- .../schemas/WebsocketNotificationV2DeleteEncoded.yaml | 2 +- .../components/schemas/WebsocketNotificationV2Encoded.yaml | 2 +- .../schemas/WebsocketNotificationV2UpdateEncoded.yaml | 2 +- .../schemas/WebsocketResponseNotificationEncoded.yaml | 2 +- .../schemas/WebsocketUserBadgeAssignedEncoded.yaml | 2 +- .../schemas/WebsocketUserBadgeUnassignedEncoded.yaml | 2 +- openapi/components/schemas/WebsocketUserLocationEncoded.yaml | 2 +- openapi/components/schemas/WebsocketUserUpdateEncoded.yaml | 2 +- 24 files changed, 28 insertions(+), 23 deletions(-) diff --git a/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml b/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml index a1829c29..306f27c4 100644 --- a/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml +++ b/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketContentRefreshEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml b/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml index c89f87b4..681d6269 100644 --- a/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketFriendActiveEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketFriendAddEncoded.yaml b/openapi/components/schemas/WebsocketFriendAddEncoded.yaml index 545c34ec..961e70bd 100644 --- a/openapi/components/schemas/WebsocketFriendAddEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendAddEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketFriendAddEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml b/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml index 14e5d35b..f0389c23 100644 --- a/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketFriendDeleteEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml b/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml index 011d242f..bd073b41 100644 --- a/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketFriendLocationEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml b/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml index 173b9285..46ee7bac 100644 --- a/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketFriendOfflineEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml b/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml index 469bf064..185506b9 100644 --- a/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketFriendOnlineEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml b/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml index 0df456c6..a700984e 100644 --- a/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketFriendUpdateEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml b/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml index 2d4d4be5..1604bf57 100644 --- a/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketGroupJoinedEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml b/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml index 85cf58f3..0e7f2471 100644 --- a/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketGroupLeftEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml index 966312d9..0b0a31c9 100644 --- a/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketGroupMemberUpdatedEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml b/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml index 5b7328c7..62103f7d 100644 --- a/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketGroupRoleUpdatedEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml b/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml index e7ef25cf..eabb4155 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketInstanceQueueJoinedEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml b/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml index e0780de7..137eb22b 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketInstanceQueueReadyEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index c58dd3a0..4065abe9 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -54,3 +54,8 @@ x-if: user-update: ./WebsocketUserUpdateEncoded.yaml else: type: object + properties: + type: + type: string + content: + type: string diff --git a/openapi/components/schemas/WebsocketNotificationEncoded.yaml b/openapi/components/schemas/WebsocketNotificationEncoded.yaml index f3d5f77a..1b53a44c 100644 --- a/openapi/components/schemas/WebsocketNotificationEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketNotificationEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml b/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml index 5e3e0f73..d43ad845 100644 --- a/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketNotificationV2DeleteEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml b/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml index 1e907604..3bf72f79 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml @@ -1,5 +1,5 @@ title: NotificationV2Encoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml b/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml index f70e1ea3..ee89d3b3 100644 --- a/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketNotificationV2UpdateEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml b/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml index e201400f..8caf44d6 100644 --- a/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml +++ b/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketResponseNotificationEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml b/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml index 72c4cf43..d54bab49 100644 --- a/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketUserBadgeAssignedEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml b/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml index 134140ea..0777a882 100644 --- a/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketUserBadgeUnassignedEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketUserLocationEncoded.yaml b/openapi/components/schemas/WebsocketUserLocationEncoded.yaml index 2aa59ad5..e3147ed8 100644 --- a/openapi/components/schemas/WebsocketUserLocationEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserLocationEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketUserLocationEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml b/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml index 8d4f6f65..cd29a5cd 100644 --- a/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketUserUpdateEncoded -type: string +type: object properties: content: type: string From 5b5f3d6a745922c869d584eccabb856de20a20c9 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Thu, 17 Sep 2026 02:00:02 +0200 Subject: [PATCH 30/30] Lint --- .../requests/CreateGroupGalleryRequest.yaml | 8 +++---- .../requests/CreateGroupRequest.yaml | 4 ++-- .../requests/CreateInstanceRequest.yaml | 4 ++-- .../requests/UpdateGroupGalleryRequest.yaml | 8 +++---- .../requests/UpdateGroupRequest.yaml | 4 ++-- .../requests/UpdateWorldRequest.yaml | 2 +- .../economy/UpdateTiliaTOSResponse.yaml | 2 +- .../schemas/AccountDeletionLog.yaml | 2 +- .../components/schemas/AdminAssetBundle.yaml | 2 +- openapi/components/schemas/Avatar.yaml | 6 ++--- openapi/components/schemas/Badge.yaml | 6 ++--- openapi/components/schemas/CalendarEvent.yaml | 10 ++++----- .../schemas/CalendarEventRecurrence.yaml | 2 +- openapi/components/schemas/CurrentUser.yaml | 14 ++++++------ .../schemas/CurrentUserPresence.yaml | 18 +++++++-------- .../components/schemas/DynamicContentRow.yaml | 16 +++++++------- .../components/schemas/EconomyAccount.yaml | 16 +++++++------- openapi/components/schemas/EconomyPayout.yaml | 12 +++++----- .../components/schemas/FavoritedWorld.yaml | 2 +- openapi/components/schemas/Feedback.yaml | 6 ++--- openapi/components/schemas/Group.yaml | 14 ++++++------ .../components/schemas/GroupAnnouncement.yaml | 10 ++++----- openapi/components/schemas/GroupGallery.yaml | 8 +++---- openapi/components/schemas/GroupMember.yaml | 16 +++++++------- .../schemas/GroupMemberLimitedUser.yaml | 2 +- openapi/components/schemas/GroupMyMember.yaml | 8 +++---- openapi/components/schemas/GroupPost.yaml | 2 +- openapi/components/schemas/InfoPush.yaml | 4 ++-- openapi/components/schemas/InfoPushData.yaml | 8 +++---- openapi/components/schemas/Instance.yaml | 22 +++++++++---------- .../components/schemas/InstanceOwnerId.yaml | 2 +- .../schemas/InstanceShortNameResponse.yaml | 2 +- openapi/components/schemas/InventoryDrop.yaml | 2 +- openapi/components/schemas/InventoryItem.yaml | 2 +- openapi/components/schemas/Jam.yaml | 10 ++++----- openapi/components/schemas/LimitedGroup.yaml | 10 ++++----- .../schemas/LimitedUnityPackage.yaml | 2 +- .../components/schemas/LimitedUserFriend.yaml | 6 ++--- .../components/schemas/LimitedUserGroups.yaml | 12 +++++----- .../schemas/LimitedUserInstance.yaml | 6 ++--- openapi/components/schemas/LimitedWorld.yaml | 2 +- .../components/schemas/ModerationReport.yaml | 2 +- openapi/components/schemas/Notification.yaml | 2 +- .../components/schemas/NotificationV2.yaml | 18 +++++++-------- .../schemas/NotificationV2DetailsBoop.yaml | 2 +- .../schemas/NotificationV2Response.yaml | 2 +- .../components/schemas/PrivateProfile.yaml | 2 +- openapi/components/schemas/Product.yaml | 4 ++-- .../components/schemas/ProductListing.yaml | 12 +++++----- .../components/schemas/ProductPurchase.yaml | 6 ++--- .../schemas/ProductPurchaseProduct.yaml | 2 +- .../schemas/ProfileRepresentedGroup.yaml | 4 ++-- openapi/components/schemas/Prop.yaml | 2 +- .../components/schemas/RepresentedGroup.yaml | 8 +++---- openapi/components/schemas/StoreContext.yaml | 2 +- openapi/components/schemas/Transaction.yaml | 2 +- openapi/components/schemas/UnityPackage.yaml | 8 +++---- openapi/components/schemas/User.yaml | 6 ++--- .../schemas/WebsocketNotification.yaml | 2 +- openapi/components/schemas/World.yaml | 2 +- 60 files changed, 191 insertions(+), 191 deletions(-) diff --git a/openapi/components/requests/CreateGroupGalleryRequest.yaml b/openapi/components/requests/CreateGroupGalleryRequest.yaml index f78f7142..11a85ea0 100644 --- a/openapi/components/requests/CreateGroupGalleryRequest.yaml +++ b/openapi/components/requests/CreateGroupGalleryRequest.yaml @@ -17,22 +17,22 @@ properties: example: Example Gallery minLength: 1 roleIdsToAutoApprove: - type: ['null', 'array'] + type: [array, "null"] description: " " items: $ref: ../schemas/GroupRoleID.yaml roleIdsToManage: - type: ['null', 'array'] + type: [array, "null"] description: " " items: $ref: ../schemas/GroupRoleID.yaml roleIdsToSubmit: - type: ['null', 'array'] + type: [array, "null"] description: " " items: $ref: ../schemas/GroupRoleID.yaml roleIdsToView: - type: ['null', 'array'] + type: [array, "null"] description: " " items: $ref: ../schemas/GroupRoleID.yaml diff --git a/openapi/components/requests/CreateGroupRequest.yaml b/openapi/components/requests/CreateGroupRequest.yaml index 65474c36..459193b8 100644 --- a/openapi/components/requests/CreateGroupRequest.yaml +++ b/openapi/components/requests/CreateGroupRequest.yaml @@ -2,14 +2,14 @@ title: CreateGroupRequest type: object properties: bannerId: - type: ['null', 'string'] + type: ["null", string] default: null description: type: string maxLength: 250 minLength: 0 iconId: - type: ['null', 'string'] + type: ["null", string] default: null joinState: $ref: ../schemas/GroupJoinState.yaml diff --git a/openapi/components/requests/CreateInstanceRequest.yaml b/openapi/components/requests/CreateInstanceRequest.yaml index 30190367..59cb291f 100644 --- a/openapi/components/requests/CreateInstanceRequest.yaml +++ b/openapi/components/requests/CreateInstanceRequest.yaml @@ -29,14 +29,14 @@ properties: description: Currently unused, but will eventually be a flag to set if the closing of the instance should kick people. default: false instancePersistenceEnabled: - type: ['null', 'boolean'] + type: [boolean, "null"] inviteOnly: type: boolean default: false ownerId: $ref: ../schemas/InstanceOwnerId.yaml playerPersistenceEnabled: - type: ['null', 'boolean'] + type: [boolean, "null"] queueEnabled: type: boolean default: false diff --git a/openapi/components/requests/UpdateGroupGalleryRequest.yaml b/openapi/components/requests/UpdateGroupGalleryRequest.yaml index b0ede457..2d6ba59c 100644 --- a/openapi/components/requests/UpdateGroupGalleryRequest.yaml +++ b/openapi/components/requests/UpdateGroupGalleryRequest.yaml @@ -17,22 +17,22 @@ properties: example: Example Gallery minLength: 1 roleIdsToAutoApprove: - type: ['null', 'array'] + type: [array, "null"] description: " " items: $ref: ../schemas/GroupRoleID.yaml roleIdsToManage: - type: ['null', 'array'] + type: [array, "null"] description: " " items: $ref: ../schemas/GroupRoleID.yaml roleIdsToSubmit: - type: ['null', 'array'] + type: [array, "null"] description: " " items: $ref: ../schemas/GroupRoleID.yaml roleIdsToView: - type: ['null', 'array'] + type: [array, "null"] description: " " items: $ref: ../schemas/GroupRoleID.yaml diff --git a/openapi/components/requests/UpdateGroupRequest.yaml b/openapi/components/requests/UpdateGroupRequest.yaml index 0cb11e6c..33c4fff1 100644 --- a/openapi/components/requests/UpdateGroupRequest.yaml +++ b/openapi/components/requests/UpdateGroupRequest.yaml @@ -2,14 +2,14 @@ title: UpdateGroupRequest type: object properties: bannerId: - type: ['null', 'string'] + type: ["null", string] default: null description: type: string maxLength: 250 minLength: 0 iconId: - type: ['null', 'string'] + type: ["null", string] default: null joinState: $ref: ../schemas/GroupJoinState.yaml diff --git a/openapi/components/requests/UpdateWorldRequest.yaml b/openapi/components/requests/UpdateWorldRequest.yaml index 76ab01fc..10ebb6c3 100644 --- a/openapi/components/requests/UpdateWorldRequest.yaml +++ b/openapi/components/requests/UpdateWorldRequest.yaml @@ -32,7 +32,7 @@ properties: platform: $ref: ../schemas/Platform.yaml previewYoutubeId: - type: ['null', 'string'] + type: ["null", string] recommendedCapacity: type: integer example: 4 diff --git a/openapi/components/responses/economy/UpdateTiliaTOSResponse.yaml b/openapi/components/responses/economy/UpdateTiliaTOSResponse.yaml index ef058d6e..bd884bfa 100644 --- a/openapi/components/responses/economy/UpdateTiliaTOSResponse.yaml +++ b/openapi/components/responses/economy/UpdateTiliaTOSResponse.yaml @@ -2,4 +2,4 @@ description: Returns a UserSubscription object. content: application/json: schema: - type: ['null', 'object'] + type: ["null", object] diff --git a/openapi/components/schemas/AccountDeletionLog.yaml b/openapi/components/schemas/AccountDeletionLog.yaml index ffb68367..d6019b8d 100644 --- a/openapi/components/schemas/AccountDeletionLog.yaml +++ b/openapi/components/schemas/AccountDeletionLog.yaml @@ -6,7 +6,7 @@ properties: description: Date and time of the deletion request. format: date-time deletionScheduled: - type: ['null', 'string'] + type: ["null", string] description: When the deletion is scheduled to happen, standard is 14 days after the request. format: date-time message: diff --git a/openapi/components/schemas/AdminAssetBundle.yaml b/openapi/components/schemas/AdminAssetBundle.yaml index 90fde67c..d4393fd4 100644 --- a/openapi/components/schemas/AdminAssetBundle.yaml +++ b/openapi/components/schemas/AdminAssetBundle.yaml @@ -29,7 +29,7 @@ properties: thumbnailImageUrl: type: string unityPackageUrl: - type: ['null', 'string'] + type: ["null", string] unityPackages: type: array items: diff --git a/openapi/components/schemas/Avatar.yaml b/openapi/components/schemas/Avatar.yaml index 079e1817..2e1db8ae 100644 --- a/openapi/components/schemas/Avatar.yaml +++ b/openapi/components/schemas/Avatar.yaml @@ -40,7 +40,7 @@ properties: type: string minLength: 1 listingDate: - type: ['null', 'string'] + type: ["null", string] lock: type: boolean lowestPrice: @@ -94,9 +94,9 @@ properties: type: object properties: primary: - type: ['null', 'string'] + type: ["null", string] secondary: - type: ['null', 'string'] + type: ["null", string] supplementary: type: array items: diff --git a/openapi/components/schemas/Badge.yaml b/openapi/components/schemas/Badge.yaml index 05596ea4..19eb3378 100644 --- a/openapi/components/schemas/Badge.yaml +++ b/openapi/components/schemas/Badge.yaml @@ -2,7 +2,7 @@ title: Badge type: object properties: assignedAt: - type: ['null', 'string'] + type: ["null", string] description: only present in CurrentUser badges format: date-time badgeDescription: @@ -15,14 +15,14 @@ properties: badgeName: type: string hidden: - type: ['null', 'boolean'] + type: [boolean, "null"] description: only present in CurrentUser badges isQuantifiable: type: boolean showcased: type: boolean updatedAt: - type: ['null', 'string'] + type: ["null", string] description: only present in CurrentUser badges format: date-time required: diff --git a/openapi/components/schemas/CalendarEvent.yaml b/openapi/components/schemas/CalendarEvent.yaml index 6dbabcb0..aa671de5 100644 --- a/openapi/components/schemas/CalendarEvent.yaml +++ b/openapi/components/schemas/CalendarEvent.yaml @@ -12,7 +12,7 @@ properties: type: string format: date-time deletedAt: - type: ['null', 'string'] + type: ["null", string] format: date-time description: type: string @@ -34,7 +34,7 @@ properties: $ref: ./FileID.yaml nullable: true imageUrl: - type: ['null', 'string'] + type: ["null", string] interestedUserCount: type: integer isDraft: @@ -47,7 +47,7 @@ properties: occurrenceKind: $ref: ./CalendarEventOccurrenceKind.yaml occurrenceModified: - type: ['null', 'boolean'] + type: [boolean, "null"] ownerId: $ref: ./GroupID.yaml platforms: @@ -57,12 +57,12 @@ properties: recurrence: $ref: ./CalendarEventRecurrence.yaml roleIds: - type: ['null', 'array'] + type: [array, "null"] description: Group roles that may join this event items: $ref: ./GroupRoleID.yaml seriesId: - type: ['null', 'string'] + type: ["null", string] description: So far unused, always "null" startsAt: type: string diff --git a/openapi/components/schemas/CalendarEventRecurrence.yaml b/openapi/components/schemas/CalendarEventRecurrence.yaml index 3835cd72..e0299299 100644 --- a/openapi/components/schemas/CalendarEventRecurrence.yaml +++ b/openapi/components/schemas/CalendarEventRecurrence.yaml @@ -1,5 +1,5 @@ title: CalendarEventRecurrence -type: ['null', 'object'] +type: ["null", object] description: Details about how a recurring event will be scheduled. If the event is to be scheduled indefinitely, this will lack an "end" property. properties: daysOfWeek: diff --git a/openapi/components/schemas/CurrentUser.yaml b/openapi/components/schemas/CurrentUser.yaml index b49204dc..f687ee46 100644 --- a/openapi/components/schemas/CurrentUser.yaml +++ b/openapi/components/schemas/CurrentUser.yaml @@ -10,10 +10,10 @@ properties: example: 7 minimum: 0 accountDeletionDate: - type: ['null', 'string'] + type: ["null", string] format: date accountDeletionLog: - type: ['null', 'array'] + type: [array, "null"] description: " " items: $ref: ./AccountDeletionLog.yaml @@ -139,7 +139,7 @@ properties: type: string format: date-time last_mobile: - type: ['null', 'string'] + type: ["null", string] format: date-time last_platform: $ref: ./Platform.yaml @@ -198,7 +198,7 @@ properties: items: type: string queuedInstance: - type: ['null', 'string'] + type: ["null", string] receiveMobileInvitations: type: boolean state: @@ -235,7 +235,7 @@ properties: twoFactorAuthEnabled: type: boolean twoFactorAuthEnabledDate: - type: ['null', 'string'] + type: ["null", string] format: date-time unsubscribe: type: boolean @@ -243,9 +243,9 @@ properties: type: string format: date-time userLanguage: - type: ['null', 'string'] + type: ["null", string] userLanguageCode: - type: ['null', 'string'] + type: ["null", string] username: type: string description: Your own unique name, used during login. Distinct from diff --git a/openapi/components/schemas/CurrentUserPresence.yaml b/openapi/components/schemas/CurrentUserPresence.yaml index 6db84ffa..e9eac611 100644 --- a/openapi/components/schemas/CurrentUserPresence.yaml +++ b/openapi/components/schemas/CurrentUserPresence.yaml @@ -4,7 +4,7 @@ properties: avatarImageUrl: type: string avatarThumbnail: - type: ['null', 'string'] + type: ["null", string] banner: type: string bannerColor: @@ -20,7 +20,7 @@ properties: displayName: type: string groups: - type: ['null', 'array'] + type: [array, "null"] items: $ref: ./GroupID.yaml iconFrame: @@ -30,12 +30,12 @@ properties: id: $ref: ./UserID.yaml instance: - type: ['null', 'string'] + type: ["null", string] instanceType: - type: ['null', 'string'] + type: ["null", string] description: either an InstanceType or an empty string isRejoining: - type: ['null', 'string'] + type: ["null", string] nameplateEffect: type: string platform: @@ -45,17 +45,17 @@ properties: profileEffect: type: string profilePicOverride: - type: ['null', 'string'] + type: ["null", string] status: - type: ['null', 'string'] + type: ["null", string] description: either a UserStatus or empty string travelingToInstance: - type: ['null', 'string'] + type: ["null", string] travelingToWorld: $ref: ./LocationID.yaml nullable: true userIcon: - type: ['null', 'string'] + type: ["null", string] world: $ref: ./WorldID.yaml nullable: true diff --git a/openapi/components/schemas/DynamicContentRow.yaml b/openapi/components/schemas/DynamicContentRow.yaml index 6b3ce95f..aad3c796 100644 --- a/openapi/components/schemas/DynamicContentRow.yaml +++ b/openapi/components/schemas/DynamicContentRow.yaml @@ -2,11 +2,11 @@ title: DynamicContentRow type: object properties: anyStyle: - type: ['null', 'array'] + type: [array, "null"] items: type: string anyTag: - type: ['null', 'array'] + type: [array, "null"] items: type: string avatarSpecific: @@ -54,7 +54,7 @@ properties: nonFeaturedResults: type: string notag: - type: ['null', 'array'] + type: [array, "null"] items: type: string params: @@ -68,7 +68,7 @@ properties: description: 'Usually "ThisPlatformSupported", but can also be other values such as "all" or platform specific identifiers.' minLength: 1 region: - type: ['null', 'string'] + type: ["null", string] scope: type: string example: all @@ -81,7 +81,7 @@ properties: - type: "null" - $ref: ./LocalizedString.yaml else: - type: ['null', 'string'] + type: ["null", string] sortHeading: type: string minLength: 1 @@ -92,15 +92,15 @@ properties: type: string minLength: 1 style: - type: ['null', 'string'] + type: ["null", string] tag: - type: ['null', 'string'] + type: ["null", string] description: |- Tag to filter content for this row. Not a `Tag`: that type forbids the empty string, which this field uses for a row that is not tag-filtered. example: admin_spotlight_pc tags: - type: ['null', 'array'] + type: [array, "null"] items: $ref: ./Tag.yaml type: diff --git a/openapi/components/schemas/EconomyAccount.yaml b/openapi/components/schemas/EconomyAccount.yaml index b57c135e..1d3aa4cd 100644 --- a/openapi/components/schemas/EconomyAccount.yaml +++ b/openapi/components/schemas/EconomyAccount.yaml @@ -1,16 +1,16 @@ title: EconomyAccount -type: ['null', 'object'] +type: ["null", object] properties: accountActivatedOn: - type: ['null', 'string'] + type: ["null", string] format: date-time accountId: - type: ['null', 'integer'] + type: [integer, "null"] accountSellerRegisteredOn: - type: ['null', 'string'] + type: ["null", string] format: date-time accountSellerStatus: - type: ['null', 'string'] + type: ["null", string] blocked: type: boolean canEarn: @@ -22,13 +22,13 @@ properties: limits: $ref: ./EconomyAccountLimits.yaml skrillEmail: - type: ['null', 'string'] + type: ["null", string] source: type: string tiliaId: - type: ['null', 'string'] + type: ["null", string] tiliaType: - type: ['null', 'string'] + type: ["null", string] userId: $ref: ./UserID.yaml required: diff --git a/openapi/components/schemas/EconomyPayout.yaml b/openapi/components/schemas/EconomyPayout.yaml index 8a2f4c88..5d418384 100644 --- a/openapi/components/schemas/EconomyPayout.yaml +++ b/openapi/components/schemas/EconomyPayout.yaml @@ -22,18 +22,18 @@ properties: type: string format: date-time platformPaymentGuid: - type: ['null', 'string'] + type: ["null", string] platformPaymentMethod: - type: ['null', 'string'] + type: ["null", string] reversalDate: - type: ['null', 'string'] + type: ["null", string] format: date-time reversalReason: - type: ['null', 'string'] + type: ["null", string] reversalReasonCode: - type: ['null', 'integer'] + type: [integer, "null"] reversalTransactionId: - type: ['null', 'integer'] + type: [integer, "null"] transactionId: type: integer required: diff --git a/openapi/components/schemas/FavoritedWorld.yaml b/openapi/components/schemas/FavoritedWorld.yaml index fcb6610d..663965fb 100644 --- a/openapi/components/schemas/FavoritedWorld.yaml +++ b/openapi/components/schemas/FavoritedWorld.yaml @@ -68,7 +68,7 @@ properties: example: 8 minimum: 0 previewYoutubeId: - type: ['null', 'string'] + type: ["null", string] publicationDate: type: string example: none diff --git a/openapi/components/schemas/Feedback.yaml b/openapi/components/schemas/Feedback.yaml index 5fd4bce1..415fe5ef 100644 --- a/openapi/components/schemas/Feedback.yaml +++ b/openapi/components/schemas/Feedback.yaml @@ -9,7 +9,7 @@ properties: $ref: ./UserID.yaml nullable: true contentAuthorName: - type: ['null', 'string'] + type: ["null", string] contentId: type: string contentName: @@ -17,9 +17,9 @@ properties: contentType: type: string contentVersion: - type: ['null', 'integer'] + type: [integer, "null"] description: - type: ['null', 'string'] + type: ["null", string] id: $ref: ./FeedbackID.yaml reason: diff --git a/openapi/components/schemas/Group.yaml b/openapi/components/schemas/Group.yaml index 41f2077e..923a7d1d 100644 --- a/openapi/components/schemas/Group.yaml +++ b/openapi/components/schemas/Group.yaml @@ -16,9 +16,9 @@ properties: items: type: string bannerId: - type: ['null', 'string'] + type: ["null", string] bannerUrl: - type: ['null', 'string'] + type: ["null", string] createdAt: type: string format: date-time @@ -31,9 +31,9 @@ properties: items: $ref: ./GroupGallery.yaml iconId: - type: ['null', 'string'] + type: ["null", string] iconUrl: - type: ['null', 'string'] + type: ["null", string] id: $ref: ./GroupID.yaml isVerified: @@ -46,7 +46,7 @@ properties: items: type: string lastPostCreatedAt: - type: ['null', 'string'] + type: ["null", string] format: date-time links: type: array @@ -73,12 +73,12 @@ properties: privacy: $ref: ./GroupPrivacy.yaml roles: - type: ['null', 'array'] + type: [array, "null"] description: Only returned if ?includeRoles=true is specified. items: $ref: ./GroupRole.yaml rules: - type: ['null', 'string'] + type: ["null", string] shortCode: $ref: ./GroupShortCode.yaml storeId: diff --git a/openapi/components/schemas/GroupAnnouncement.yaml b/openapi/components/schemas/GroupAnnouncement.yaml index e6c68ecd..59e85210 100644 --- a/openapi/components/schemas/GroupAnnouncement.yaml +++ b/openapi/components/schemas/GroupAnnouncement.yaml @@ -8,7 +8,7 @@ properties: $ref: ./UserID.yaml nullable: true createdAt: - type: ['null', 'string'] + type: ["null", string] format: date-time editorId: $ref: ./UserID.yaml @@ -23,15 +23,15 @@ properties: $ref: ./FileID.yaml nullable: true imageUrl: - type: ['null', 'string'] + type: ["null", string] roleIds: $ref: ./GroupRoleIDList.yaml text: - type: ['null', 'string'] + type: ["null", string] title: - type: ['null', 'string'] + type: ["null", string] updatedAt: - type: ['null', 'string'] + type: ["null", string] format: date-time visibility: type: string diff --git a/openapi/components/schemas/GroupGallery.yaml b/openapi/components/schemas/GroupGallery.yaml index f003e229..036aa831 100644 --- a/openapi/components/schemas/GroupGallery.yaml +++ b/openapi/components/schemas/GroupGallery.yaml @@ -22,22 +22,22 @@ properties: example: Example Gallery minLength: 1 roleIdsToAutoApprove: - type: ['null', 'array'] + type: [array, "null"] description: " " items: $ref: ./GroupRoleID.yaml roleIdsToManage: - type: ['null', 'array'] + type: [array, "null"] description: " " items: $ref: ./GroupRoleID.yaml roleIdsToSubmit: - type: ['null', 'array'] + type: [array, "null"] description: " " items: $ref: ./GroupRoleID.yaml roleIdsToView: - type: ['null', 'array'] + type: [array, "null"] description: " " items: $ref: ./GroupRoleID.yaml diff --git a/openapi/components/schemas/GroupMember.yaml b/openapi/components/schemas/GroupMember.yaml index 8fe555d6..bfb0e610 100644 --- a/openapi/components/schemas/GroupMember.yaml +++ b/openapi/components/schemas/GroupMember.yaml @@ -1,19 +1,19 @@ title: GroupMember -type: ['null', 'object'] +type: ["null", object] description: May be null when attempting to retrieve group membership for a user who is not part of the group properties: acceptedByDisplayName: - type: ['null', 'string'] + type: ["null", string] description: Only missing when explicitly fetching own user. acceptedById: - type: ['null', 'string'] + type: ["null", string] description: Only missing when explicitly fetching own user. bannedAt: - type: ['null', 'string'] + type: ["null", string] description: Only missing when explicitly fetching own user. format: date-time createdAt: - type: ['null', 'string'] + type: ["null", string] description: Only missing when explicitly fetching own user. format: date-time groupId: @@ -35,17 +35,17 @@ properties: type: boolean description: Only missing when explicitly fetching own user. joinedAt: - type: ['null', 'string'] + type: ["null", string] format: date-time lastPostReadAt: - type: ['null', 'string'] + type: ["null", string] format: date-time mRoleIds: type: array items: $ref: ./GroupRoleID.yaml managerNotes: - type: ['null', 'string'] + type: ["null", string] description: Only missing when explicitly fetching own user. membershipStatus: $ref: ./GroupMemberStatus.yaml diff --git a/openapi/components/schemas/GroupMemberLimitedUser.yaml b/openapi/components/schemas/GroupMemberLimitedUser.yaml index 95260675..e6418178 100644 --- a/openapi/components/schemas/GroupMemberLimitedUser.yaml +++ b/openapi/components/schemas/GroupMemberLimitedUser.yaml @@ -1,5 +1,5 @@ title: GroupMemberLimitedUser -type: ['null', 'object'] +type: ["null", object] description: "Only visible via the /groups/:groupId/members endpoint, **not** when fetching a specific user." properties: bannerColor: diff --git a/openapi/components/schemas/GroupMyMember.yaml b/openapi/components/schemas/GroupMyMember.yaml index d9446a1d..c423850f 100644 --- a/openapi/components/schemas/GroupMyMember.yaml +++ b/openapi/components/schemas/GroupMyMember.yaml @@ -2,11 +2,11 @@ title: GroupMyMember type: object properties: acceptedByDisplayName: - type: ['null', 'string'] + type: ["null", string] acceptedById: - type: ['null', 'string'] + type: ["null", string] bannedAt: - type: ['null', 'string'] + type: ["null", string] createdAt: type: string format: date-time @@ -32,7 +32,7 @@ properties: type: string format: date-time lastPostReadAt: - type: ['null', 'string'] + type: ["null", string] format: date-time mRoleIds: type: array diff --git a/openapi/components/schemas/GroupPost.yaml b/openapi/components/schemas/GroupPost.yaml index a25f476f..c321362b 100644 --- a/openapi/components/schemas/GroupPost.yaml +++ b/openapi/components/schemas/GroupPost.yaml @@ -17,7 +17,7 @@ properties: $ref: ./FileID.yaml nullable: true imageUrl: - type: ['null', 'string'] + type: ["null", string] roleIds: $ref: ./GroupRoleIDList.yaml text: diff --git a/openapi/components/schemas/InfoPush.yaml b/openapi/components/schemas/InfoPush.yaml index 9f56102e..28d8bc58 100644 --- a/openapi/components/schemas/InfoPush.yaml +++ b/openapi/components/schemas/InfoPush.yaml @@ -9,7 +9,7 @@ properties: data: $ref: ./InfoPushData.yaml endDate: - type: ['null', 'string'] + type: ["null", string] format: date-time experiment: $ref: ./InfoPushExperiment.yaml @@ -37,7 +37,7 @@ properties: items: type: string startDate: - type: ['null', 'string'] + type: ["null", string] description: "" format: date-time tags: diff --git a/openapi/components/schemas/InfoPushData.yaml b/openapi/components/schemas/InfoPushData.yaml index 448931c4..5199b5b2 100644 --- a/openapi/components/schemas/InfoPushData.yaml +++ b/openapi/components/schemas/InfoPushData.yaml @@ -45,7 +45,7 @@ properties: iconImageUrl: type: string imageUrl: - type: ['null', 'string'] + type: ["null", string] ipsQuery: $ref: ./InfoPushIpsQuery.yaml isNew: @@ -67,7 +67,7 @@ properties: $ref: ./InfoPushDataClickable.yaml overrideName: {} rows: - type: ['null', 'integer'] + type: [integer, "null"] description: Number of rows to render. search: $ref: ./InfoPushDataSearch.yaml @@ -80,11 +80,11 @@ properties: - type: "null" - $ref: ./LocalizedString.yaml else: - type: ['null', 'string'] + type: ["null", string] template: type: string thumbnailImageUrl: - type: ['null', 'string'] + type: ["null", string] tooltipDescription: x-if: when: jsonschema diff --git a/openapi/components/schemas/Instance.yaml b/openapi/components/schemas/Instance.yaml index 5cd6cfb5..b86e527e 100644 --- a/openapi/components/schemas/Instance.yaml +++ b/openapi/components/schemas/Instance.yaml @@ -10,9 +10,9 @@ properties: default: true example: true ageGate: - type: ['null', 'boolean'] + type: [boolean, "null"] calendarEntryId: - type: ['null', 'string'] + type: ["null", string] canRequestInvite: type: boolean default: true @@ -30,7 +30,7 @@ properties: description: Always returns "unknown". minLength: 1 closedAt: - type: ['null', 'string'] + type: ["null", string] format: date-time contentSettings: $ref: ./InstanceContentSettings.yaml @@ -41,12 +41,12 @@ properties: $ref: ./UserID.yaml nullable: true description: - type: ['null', 'string'] + type: ["null", string] disabledPropAbilities: type: array items: {} displayName: - type: ['null', 'string'] + type: ["null", string] dominantLanguage: type: string friends: @@ -55,11 +55,11 @@ properties: type: boolean default: false gameServerVersion: - type: ['null', 'integer'] + type: [integer, "null"] groupAccessType: $ref: ./GroupAccessType.yaml hardClose: - type: ['null', 'boolean'] + type: [boolean, "null"] hasCapacityForYou: type: boolean hidden: @@ -69,7 +69,7 @@ properties: instanceId: $ref: ./InstanceID.yaml instancePersistenceEnabled: - type: ['null', 'boolean'] + type: [boolean, "null"] languageRatio: type: object additionalProperties: true @@ -86,7 +86,7 @@ properties: location: $ref: ./LocationID.yaml minimumAvatarPerformance: - type: ['null', 'string'] + type: ["null", string] n_users: type: integer example: 6 @@ -107,7 +107,7 @@ properties: platforms: $ref: ./InstancePlatforms.yaml playerPersistenceEnabled: - type: ['null', 'boolean'] + type: [boolean, "null"] private: $ref: ./UserID.yaml queueEnabled: @@ -129,7 +129,7 @@ properties: example: 7eavhhng minLength: 1 shortName: - type: ['null', 'string'] + type: ["null", string] example: 02u7yz8j minLength: 1 strict: diff --git a/openapi/components/schemas/InstanceOwnerId.yaml b/openapi/components/schemas/InstanceOwnerId.yaml index 025f168d..0ef34e71 100644 --- a/openapi/components/schemas/InstanceOwnerId.yaml +++ b/openapi/components/schemas/InstanceOwnerId.yaml @@ -1,4 +1,4 @@ title: InstanceOwnerId -type: ['null', 'string'] +type: ["null", string] description: A groupId if the instance type is "group", null if instance type is public, or a userId otherwise example: usr_c1644b5b-3ca4-45b4-97c6-a2a0de70d469 diff --git a/openapi/components/schemas/InstanceShortNameResponse.yaml b/openapi/components/schemas/InstanceShortNameResponse.yaml index fe1acac1..77edf7ec 100644 --- a/openapi/components/schemas/InstanceShortNameResponse.yaml +++ b/openapi/components/schemas/InstanceShortNameResponse.yaml @@ -6,7 +6,7 @@ properties: example: 7eavhhng minLength: 1 shortName: - type: ['null', 'string'] + type: ["null", string] example: 02u7yz8j minLength: 1 required: diff --git a/openapi/components/schemas/InventoryDrop.yaml b/openapi/components/schemas/InventoryDrop.yaml index 08953d2f..52900229 100644 --- a/openapi/components/schemas/InventoryDrop.yaml +++ b/openapi/components/schemas/InventoryDrop.yaml @@ -8,7 +8,7 @@ properties: example: "2025-06-10T20:37:31.837Z" format: date-time dropExpiryDate: - type: ['null', 'string'] + type: ["null", string] format: date-time dropStatus: type: string diff --git a/openapi/components/schemas/InventoryItem.yaml b/openapi/components/schemas/InventoryItem.yaml index 43385adf..3d458276 100644 --- a/openapi/components/schemas/InventoryItem.yaml +++ b/openapi/components/schemas/InventoryItem.yaml @@ -23,7 +23,7 @@ properties: items: $ref: ./InventoryEquipSlot.yaml expiryDate: - type: ['null', 'string'] + type: ["null", string] example: "2025-06-13T05:00:45.455Z" format: date-time flags: diff --git a/openapi/components/schemas/Jam.yaml b/openapi/components/schemas/Jam.yaml index 9b4b8431..bce2e98a 100644 --- a/openapi/components/schemas/Jam.yaml +++ b/openapi/components/schemas/Jam.yaml @@ -26,20 +26,20 @@ properties: type: object properties: closed: - type: ['null', 'string'] + type: ["null", string] format: date-time submissionsClosed: - type: ['null', 'string'] + type: ["null", string] format: date-time submissionsOpened: - type: ['null', 'string'] + type: ["null", string] format: date-time winnersSelected: - type: ['null', 'string'] + type: ["null", string] example: null format: date-time submissionContentGateDate: - type: ['null', 'string'] + type: ["null", string] format: date-time submissionContentGated: type: boolean diff --git a/openapi/components/schemas/LimitedGroup.yaml b/openapi/components/schemas/LimitedGroup.yaml index e4391c45..3b7e40c6 100644 --- a/openapi/components/schemas/LimitedGroup.yaml +++ b/openapi/components/schemas/LimitedGroup.yaml @@ -2,9 +2,9 @@ title: LimitedGroup type: object properties: bannerId: - type: ['null', 'string'] + type: ["null", string] bannerUrl: - type: ['null', 'string'] + type: ["null", string] createdAt: type: string format: date-time @@ -18,9 +18,9 @@ properties: items: $ref: ./GroupGallery.yaml iconId: - type: ['null', 'string'] + type: ["null", string] iconUrl: - type: ['null', 'string'] + type: ["null", string] id: $ref: ./GroupID.yaml isSearchable: @@ -36,7 +36,7 @@ properties: ownerId: $ref: ./UserID.yaml rules: - type: ['null', 'string'] + type: ["null", string] shortCode: $ref: ./GroupShortCode.yaml tags: diff --git a/openapi/components/schemas/LimitedUnityPackage.yaml b/openapi/components/schemas/LimitedUnityPackage.yaml index 0472d2a1..05d74a84 100644 --- a/openapi/components/schemas/LimitedUnityPackage.yaml +++ b/openapi/components/schemas/LimitedUnityPackage.yaml @@ -3,7 +3,7 @@ type: object description: "" properties: created_at: - type: ['null', 'string'] + type: ["null", string] format: date-time platform: $ref: ./Platform.yaml diff --git a/openapi/components/schemas/LimitedUserFriend.yaml b/openapi/components/schemas/LimitedUserFriend.yaml index 6c4551aa..051f4ce4 100644 --- a/openapi/components/schemas/LimitedUserFriend.yaml +++ b/openapi/components/schemas/LimitedUserFriend.yaml @@ -25,13 +25,13 @@ properties: isFriend: type: boolean last_activity: - type: ['null', 'string'] + type: ["null", string] format: date-time last_login: - type: ['null', 'string'] + type: ["null", string] format: date-time last_mobile: - type: ['null', 'string'] + type: ["null", string] format: date-time last_platform: $ref: ./Platform.yaml diff --git a/openapi/components/schemas/LimitedUserGroups.yaml b/openapi/components/schemas/LimitedUserGroups.yaml index 044fbfe6..76abffdd 100644 --- a/openapi/components/schemas/LimitedUserGroups.yaml +++ b/openapi/components/schemas/LimitedUserGroups.yaml @@ -2,9 +2,9 @@ title: LimitedUserGroups type: object properties: bannerId: - type: ['null', 'string'] + type: ["null", string] bannerUrl: - type: ['null', 'string'] + type: ["null", string] description: type: string discriminator: @@ -12,18 +12,18 @@ properties: groupId: $ref: ./GroupID.yaml iconId: - type: ['null', 'string'] + type: ["null", string] iconUrl: - type: ['null', 'string'] + type: ["null", string] id: $ref: ./GroupMemberID.yaml isRepresenting: type: boolean lastPostCreatedAt: - type: ['null', 'string'] + type: ["null", string] format: date-time lastPostReadAt: - type: ['null', 'string'] + type: ["null", string] format: date-time memberCount: type: integer diff --git a/openapi/components/schemas/LimitedUserInstance.yaml b/openapi/components/schemas/LimitedUserInstance.yaml index ed2c13fc..6e1f3cc4 100644 --- a/openapi/components/schemas/LimitedUserInstance.yaml +++ b/openapi/components/schemas/LimitedUserInstance.yaml @@ -24,7 +24,7 @@ properties: currentAvatarThumbnailImageUrl: $ref: ./CurrentAvatarThumbnailImageUrl.yaml date_joined: - type: ['null', 'string'] + type: ["null", string] format: date-time developerType: $ref: ./DeveloperType.yaml @@ -39,10 +39,10 @@ properties: isFriend: type: boolean last_activity: - type: ['null', 'string'] + type: ["null", string] format: date-time last_mobile: - type: ['null', 'string'] + type: ["null", string] format: date-time last_platform: $ref: ./Platform.yaml diff --git a/openapi/components/schemas/LimitedWorld.yaml b/openapi/components/schemas/LimitedWorld.yaml index 81e3e8ab..a70c4e19 100644 --- a/openapi/components/schemas/LimitedWorld.yaml +++ b/openapi/components/schemas/LimitedWorld.yaml @@ -59,7 +59,7 @@ properties: example: 8 minimum: 0 previewYoutubeId: - type: ['null', 'string'] + type: ["null", string] publicationDate: type: string example: none diff --git a/openapi/components/schemas/ModerationReport.yaml b/openapi/components/schemas/ModerationReport.yaml index cf1a758f..9394369d 100644 --- a/openapi/components/schemas/ModerationReport.yaml +++ b/openapi/components/schemas/ModerationReport.yaml @@ -11,7 +11,7 @@ properties: contentName: type: string contentThumbnailImageUrl: - type: ['null', 'string'] + type: ["null", string] description: type: string description: The subjective reason for the report diff --git a/openapi/components/schemas/Notification.yaml b/openapi/components/schemas/Notification.yaml index 8eb7075b..40ad479f 100644 --- a/openapi/components/schemas/Notification.yaml +++ b/openapi/components/schemas/Notification.yaml @@ -46,7 +46,7 @@ properties: senderUserId: $ref: ./UserID.yaml senderUsername: - type: ['null', 'string'] + type: ["null", string] description: The name of the user who sent the notification. minLength: 1 type: diff --git a/openapi/components/schemas/NotificationV2.yaml b/openapi/components/schemas/NotificationV2.yaml index ab9f4070..b607fe0e 100644 --- a/openapi/components/schemas/NotificationV2.yaml +++ b/openapi/components/schemas/NotificationV2.yaml @@ -30,31 +30,31 @@ properties: type: string format: date-time expiryAfterSeen: - type: ['null', 'integer'] + type: [integer, "null"] id: type: string ignoreDND: type: boolean imageUrl: - type: ['null', 'string'] + type: ["null", string] isSystem: type: boolean link: - type: ['null', 'string'] + type: ["null", string] example: "event:grp_00000000-0000-0000-0000-000000000000,cal_00000000-0000-0000\ -0000-000000000000" linkText: - type: ['null', 'string'] + type: ["null", string] linkTextKey: - type: ['null', 'string'] + type: ["null", string] message: type: string messageKey: - type: ['null', 'string'] + type: ["null", string] receiverUserId: $ref: ./UserID.yaml relatedNotificationsId: - type: ['null', 'string'] + type: ["null", string] example: cal_00000000-0000-0000-0000-000000000000 requireSeen: type: boolean @@ -68,11 +68,11 @@ properties: $ref: ./UserID.yaml nullable: true senderUsername: - type: ['null', 'string'] + type: ["null", string] title: type: string titleKey: - type: ['null', 'string'] + type: ["null", string] type: $ref: ./NotificationV2Type.yaml updatedAt: diff --git a/openapi/components/schemas/NotificationV2DetailsBoop.yaml b/openapi/components/schemas/NotificationV2DetailsBoop.yaml index 8826c9c1..c280f218 100644 --- a/openapi/components/schemas/NotificationV2DetailsBoop.yaml +++ b/openapi/components/schemas/NotificationV2DetailsBoop.yaml @@ -5,7 +5,7 @@ properties: emojiId: $ref: ../schemas/EmojiID.yaml emojiVersion: - type: ['null', 'integer'] + type: [integer, "null"] inventoryItemId: $ref: ../schemas/InventoryItemID.yaml required: diff --git a/openapi/components/schemas/NotificationV2Response.yaml b/openapi/components/schemas/NotificationV2Response.yaml index 2f056c69..9a424d65 100644 --- a/openapi/components/schemas/NotificationV2Response.yaml +++ b/openapi/components/schemas/NotificationV2Response.yaml @@ -8,7 +8,7 @@ properties: text: type: string textKey: - type: ['null', 'string'] + type: ["null", string] type: $ref: ./NotificationV2ResponseType.yaml required: diff --git a/openapi/components/schemas/PrivateProfile.yaml b/openapi/components/schemas/PrivateProfile.yaml index 595f3ad4..996fdfd0 100644 --- a/openapi/components/schemas/PrivateProfile.yaml +++ b/openapi/components/schemas/PrivateProfile.yaml @@ -10,7 +10,7 @@ properties: isFriend: type: boolean note: - type: ['null', 'string'] + type: ["null", string] status: $ref: ./UserStatus.yaml statusDescription: diff --git a/openapi/components/schemas/Product.yaml b/openapi/components/schemas/Product.yaml index 4b117237..22001650 100644 --- a/openapi/components/schemas/Product.yaml +++ b/openapi/components/schemas/Product.yaml @@ -26,7 +26,7 @@ properties: $ref: ./FileID.yaml nullable: true imageUrl: - type: ['null', 'string'] + type: ["null", string] parentListings: type: array items: @@ -48,7 +48,7 @@ properties: items: $ref: ./Tag.yaml updated: - type: ['null', 'string'] + type: ["null", string] format: date-time useForSubscriberList: type: boolean diff --git a/openapi/components/schemas/ProductListing.yaml b/openapi/components/schemas/ProductListing.yaml index cfa00067..ad608eec 100644 --- a/openapi/components/schemas/ProductListing.yaml +++ b/openapi/components/schemas/ProductListing.yaml @@ -10,7 +10,7 @@ properties: buyerRefundable: type: boolean collabUserDisplayName: - type: ['null', 'string'] + type: ["null", string] collabUserId: $ref: ./UserID.yaml created: @@ -21,16 +21,16 @@ properties: displayName: type: string duration: - type: ['null', 'integer'] + type: [integer, "null"] durationType: - type: ['null', 'string'] + type: ["null", string] groupIcon: $ref: ./FileID.yaml nullable: true groupId: $ref: ./GroupID.yaml groupName: - type: ['null', 'string'] + type: ["null", string] hasAvatar: type: boolean hasCompanion: @@ -49,7 +49,7 @@ properties: $ref: ./FileID.yaml nullable: true imageUrl: - type: ['null', 'string'] + type: ["null", string] listingType: $ref: ./ProductListingType.yaml listingVariants: @@ -109,7 +109,7 @@ properties: vrcPlusDiscountPrice: type: integer whenToExpire: - type: ['null', 'string'] + type: ["null", string] format: date-time required: - active diff --git a/openapi/components/schemas/ProductPurchase.yaml b/openapi/components/schemas/ProductPurchase.yaml index c1118af2..39965037 100644 --- a/openapi/components/schemas/ProductPurchase.yaml +++ b/openapi/components/schemas/ProductPurchase.yaml @@ -58,7 +58,7 @@ properties: purchaseDurationType: type: string purchaseEndDate: - type: ['null', 'string'] + type: ["null", string] format: date-time purchaseFee: type: integer @@ -71,10 +71,10 @@ properties: purchaseQuantity: type: integer purchaseStartDate: - type: ['null', 'string'] + type: ["null", string] format: date-time purchaseToken: - type: ['null', 'object'] + type: ["null", object] purchaseType: type: string purchaseUnitPrice: diff --git a/openapi/components/schemas/ProductPurchaseProduct.yaml b/openapi/components/schemas/ProductPurchaseProduct.yaml index 6e97271b..c8519384 100644 --- a/openapi/components/schemas/ProductPurchaseProduct.yaml +++ b/openapi/components/schemas/ProductPurchaseProduct.yaml @@ -9,7 +9,7 @@ properties: $ref: ./FileID.yaml nullable: true licenseId: - type: ['null', 'string'] + type: ["null", string] productType: $ref: ./ProductType.yaml required: diff --git a/openapi/components/schemas/ProfileRepresentedGroup.yaml b/openapi/components/schemas/ProfileRepresentedGroup.yaml index b7212abf..a493a8f7 100644 --- a/openapi/components/schemas/ProfileRepresentedGroup.yaml +++ b/openapi/components/schemas/ProfileRepresentedGroup.yaml @@ -2,9 +2,9 @@ title: ProfileRepresentedGroup type: object properties: bannerUrl: - type: ['null', 'string'] + type: ["null", string] iconUrl: - type: ['null', 'string'] + type: ["null", string] id: $ref: ./GroupID.yaml name: diff --git a/openapi/components/schemas/Prop.yaml b/openapi/components/schemas/Prop.yaml index ad52f867..8d4e0bb5 100644 --- a/openapi/components/schemas/Prop.yaml +++ b/openapi/components/schemas/Prop.yaml @@ -34,7 +34,7 @@ properties: thumbnailImageUrl: type: string unityPackageUrl: - type: ['null', 'string'] + type: ["null", string] unityPackages: type: array items: diff --git a/openapi/components/schemas/RepresentedGroup.yaml b/openapi/components/schemas/RepresentedGroup.yaml index d0f13197..2e5a6816 100644 --- a/openapi/components/schemas/RepresentedGroup.yaml +++ b/openapi/components/schemas/RepresentedGroup.yaml @@ -2,9 +2,9 @@ title: RepresentedGroup type: object properties: bannerId: - type: ['null', 'string'] + type: ["null", string] bannerUrl: - type: ['null', 'string'] + type: ["null", string] description: type: string discriminator: @@ -12,9 +12,9 @@ properties: groupId: $ref: ./GroupID.yaml iconId: - type: ['null', 'string'] + type: ["null", string] iconUrl: - type: ['null', 'string'] + type: ["null", string] isRepresenting: type: boolean memberCount: diff --git a/openapi/components/schemas/StoreContext.yaml b/openapi/components/schemas/StoreContext.yaml index dc2cf53d..c5bc779f 100644 --- a/openapi/components/schemas/StoreContext.yaml +++ b/openapi/components/schemas/StoreContext.yaml @@ -4,7 +4,7 @@ properties: id: type: string imageUrl: - type: ['null', 'string'] + type: ["null", string] name: type: string required: diff --git a/openapi/components/schemas/Transaction.yaml b/openapi/components/schemas/Transaction.yaml index f69ba327..827e9df9 100644 --- a/openapi/components/schemas/Transaction.yaml +++ b/openapi/components/schemas/Transaction.yaml @@ -15,7 +15,7 @@ properties: type: string format: date-time error: - type: ['null', 'string'] + type: ["null", string] id: $ref: ./TransactionID.yaml isGift: diff --git a/openapi/components/schemas/UnityPackage.yaml b/openapi/components/schemas/UnityPackage.yaml index 39851fc3..cde7c86b 100644 --- a/openapi/components/schemas/UnityPackage.yaml +++ b/openapi/components/schemas/UnityPackage.yaml @@ -3,7 +3,7 @@ type: object description: "" properties: assetUrl: - type: ['null', 'string'] + type: ["null", string] example: https://api.vrchat.cloud/api/1/file/file_cd0caa7b-69ba-4715-8dfe-7d667a9d2537/65/file assetUrlObject: type: object @@ -13,13 +13,13 @@ properties: example: 4 minimum: 0 created_at: - type: ['null', 'string'] + type: ["null", string] example: "2020-09-10T06:13:27.777Z" format: date-time id: $ref: ./UnityPackageID.yaml impostorUrl: - type: ['null', 'string'] + type: ["null", string] impostorizerVersion: type: string example: 0.17.0 @@ -48,7 +48,7 @@ properties: variant: type: string worldSignature: - type: ['null', 'string'] + type: ["null", string] example: AHiPAWerwCpeYrxDthF5TU2SdUWEWnm43UAn8PKRXlS8k8tVRQ== required: - assetVersion diff --git a/openapi/components/schemas/User.yaml b/openapi/components/schemas/User.yaml index 5a2ba5f8..bdc2b19e 100644 --- a/openapi/components/schemas/User.yaml +++ b/openapi/components/schemas/User.yaml @@ -6,9 +6,9 @@ properties: acceptedTOSVersion: type: integer accountDeletionDate: - type: ['null', 'string'] + type: ["null", string] accountDeletionLog: - type: ['null', 'array'] + type: [array, "null"] items: {} ageVerificationStatus: $ref: ./AgeVerificationStatus.yaml @@ -58,7 +58,7 @@ properties: type: string description: Either a date-time or empty string. last_mobile: - type: ['null', 'string'] + type: ["null", string] last_platform: $ref: ./Platform.yaml location: diff --git a/openapi/components/schemas/WebsocketNotification.yaml b/openapi/components/schemas/WebsocketNotification.yaml index 2a21fd5b..c6c1fdd1 100644 --- a/openapi/components/schemas/WebsocketNotification.yaml +++ b/openapi/components/schemas/WebsocketNotification.yaml @@ -43,7 +43,7 @@ properties: senderUserId: $ref: ./UserID.yaml senderUsername: - type: ['null', 'string'] + type: ["null", string] description: The name of the user who sent the notification. minLength: 1 type: diff --git a/openapi/components/schemas/World.yaml b/openapi/components/schemas/World.yaml index df2d1f8f..42fa6b1c 100644 --- a/openapi/components/schemas/World.yaml +++ b/openapi/components/schemas/World.yaml @@ -78,7 +78,7 @@ properties: example: 8 minimum: 0 previewYoutubeId: - type: ['null', 'string'] + type: ["null", string] privateOccupants: type: integer description: Will always be `0` when unauthenticated.