rozod 6.6.0 → 6.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +11 -11
  2. package/lib/endpoints/accountinformationv1.d.ts +50 -87
  3. package/lib/endpoints/accountinformationv1.js +46 -90
  4. package/lib/endpoints/assetdeliveryv1.d.ts +1 -0
  5. package/lib/endpoints/assetdeliveryv1.js +1 -0
  6. package/lib/endpoints/assetdeliveryv2.d.ts +1 -0
  7. package/lib/endpoints/assetdeliveryv2.js +1 -0
  8. package/lib/endpoints/authv1.d.ts +64 -1
  9. package/lib/endpoints/authv1.js +67 -3
  10. package/lib/endpoints/authv2.d.ts +21 -0
  11. package/lib/endpoints/authv2.js +22 -1
  12. package/lib/endpoints/avatarv1.d.ts +9 -6
  13. package/lib/endpoints/avatarv1.js +9 -6
  14. package/lib/endpoints/avatarv2.d.ts +11 -5
  15. package/lib/endpoints/avatarv2.js +11 -5
  16. package/lib/endpoints/avatarv3.d.ts +16 -7
  17. package/lib/endpoints/avatarv3.js +16 -7
  18. package/lib/endpoints/catalogv1.d.ts +23 -2
  19. package/lib/endpoints/catalogv1.js +19 -2
  20. package/lib/endpoints/catalogv2.d.ts +242 -6
  21. package/lib/endpoints/catalogv2.js +235 -7
  22. package/lib/endpoints/chatv2.d.ts +778 -778
  23. package/lib/endpoints/clientsettingsv2.d.ts +6 -0
  24. package/lib/endpoints/clientsettingsv2.js +6 -0
  25. package/lib/endpoints/contactsv1.d.ts +18 -22
  26. package/lib/endpoints/contactsv1.js +14 -22
  27. package/lib/endpoints/developv1.d.ts +33 -1
  28. package/lib/endpoints/developv1.js +9 -3
  29. package/lib/endpoints/developv2.d.ts +29 -2
  30. package/lib/endpoints/developv2.js +13 -4
  31. package/lib/endpoints/gameinternationalizationv1.d.ts +59 -0
  32. package/lib/endpoints/gameinternationalizationv1.js +57 -1
  33. package/lib/endpoints/gamejoinv1.d.ts +458 -458
  34. package/lib/endpoints/gamesv1.d.ts +74 -95
  35. package/lib/endpoints/gamesv1.js +68 -97
  36. package/lib/endpoints/gamesv2.d.ts +2 -0
  37. package/lib/endpoints/gamesv2.js +2 -0
  38. package/lib/endpoints/groupsv1.d.ts +7 -3
  39. package/lib/endpoints/groupsv1.js +7 -3
  40. package/lib/endpoints/groupsv2.d.ts +1 -0
  41. package/lib/endpoints/groupsv2.js +1 -0
  42. package/lib/endpoints/inventoryv2.d.ts +68 -0
  43. package/lib/endpoints/inventoryv2.js +66 -1
  44. package/lib/endpoints/localev1.d.ts +27 -0
  45. package/lib/endpoints/localev1.js +28 -1
  46. package/lib/endpoints/metricsv1.d.ts +88 -88
  47. package/lib/endpoints/publishv1.d.ts +3 -6
  48. package/lib/endpoints/publishv1.js +3 -6
  49. package/lib/opencloud/v2/cloud.d.ts +28 -31
  50. package/lib/opencloud/v2/cloud.js +45 -46
  51. package/package.json +108 -64
@@ -1,458 +1,458 @@
1
- import { z } from 'zod';
2
- import { endpoint } from '..';
3
-
4
- const Roblox_GameJoin_Api_GameJoinRequest = z.object({
5
- isoContext: z.string(),
6
- gameIdToExclude: z.string().uuid(),
7
- eventId: z.string(),
8
- gameJoinAttemptId: z.string().uuid(),
9
- placeId: z.number().int(),
10
- gamerTag: z.string(),
11
- isPlayTogetherGame: z.boolean(),
12
- browserTrackerId: z.number().int(),
13
- isTeleport: z.boolean(),
14
- isQueueAllowedOverride: z.boolean(),
15
- isImmersiveAdsTeleport: z.boolean(),
16
- channelName: z.string(),
17
- joinOrigin: z.string(),
18
- partyId: z.string().uuid(),
19
- });
20
- const Roblox_Web_GameJoin_StatusData_CreatorExperienceBanData = z.object({
21
- startTime: z.string().datetime({ offset: true }),
22
- durationSeconds: z.number().int(),
23
- displayReason: z.string(),
24
- displayReasonTextFilterStatus: z.number().int(),
25
- isInherited: z.boolean(),
26
- });
27
- const Roblox_Web_GameJoin_StatusData = z.object({
28
- creatorExperienceBan: Roblox_Web_GameJoin_StatusData_CreatorExperienceBanData,
29
- });
30
- const Roblox_Web_GameLaunch_ConnectionFlow_ServerConnection = z.object({
31
- Address: z.string(),
32
- Port: z.number().int(),
33
- });
34
- const Roblox_Web_GameLaunch_ConnectionFlow_UdmuxEndpoint = z.object({
35
- Address: z.string(),
36
- Port: z.number().int(),
37
- });
38
- const Roblox_Web_GameLaunch_ConnectionFlow_JoinInformation = z.object({
39
- ClientPort: z.number().int(),
40
- MachineAddress: z.string(),
41
- ServerPort: z.number().int(),
42
- ServerConnections: z.array(Roblox_Web_GameLaunch_ConnectionFlow_ServerConnection),
43
- UdmuxEndpoints: z.array(Roblox_Web_GameLaunch_ConnectionFlow_UdmuxEndpoint),
44
- DirectServerReturn: z.boolean(),
45
- TokenGenAlgorithm: z.number().int(),
46
- PepperId: z.number().int(),
47
- TokenValue: z.string(),
48
- PingUrl: z.string(),
49
- PingInterval: z.number().int(),
50
- UserName: z.string(),
51
- DisplayName: z.string(),
52
- HasVerifiedBadge: z.boolean(),
53
- SeleniumTestMode: z.boolean(),
54
- UserId: z.number().int(),
55
- RobloxLocale: z.string(),
56
- GameLocale: z.string(),
57
- SuperSafeChat: z.boolean(),
58
- FlexibleChatEnabled: z.boolean(),
59
- CharacterAppearance: z.string(),
60
- ClientTicket: z.string(),
61
- GameId: z.string(),
62
- PlaceId: z.number().int(),
63
- BaseUrl: z.string(),
64
- ChatStyle: z.string(),
65
- CreatorId: z.number().int(),
66
- CreatorTypeEnum: z.string(),
67
- MembershipType: z.string(),
68
- AccountAge: z.number().int(),
69
- CookieStoreFirstTimePlayKey: z.string(),
70
- CookieStoreFiveMinutePlayKey: z.string(),
71
- CookieStoreEnabled: z.boolean(),
72
- IsUnknownOrUnder13: z.boolean(),
73
- GameChatType: z.string(),
74
- WhoCanWhisperChatWithMeInExperiences: z.string(),
75
- SessionId: z.string(),
76
- AnalyticsSessionId: z.string(),
77
- DataCenterId: z.number().int(),
78
- UniverseId: z.number().int(),
79
- FollowUserId: z.number().int(),
80
- characterAppearanceId: z.number().int(),
81
- CountryCode: z.string(),
82
- AlternateName: z.string(),
83
- RandomSeed1: z.string().regex(/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/),
84
- ClientPublicKeyData: z.string(),
85
- RccVersion: z.string(),
86
- ChannelName: z.string(),
87
- VerifiedAMP: z.number().int(),
88
- PrivateServerOwnerID: z.number().int(),
89
- PrivateServerID: z.string(),
90
- EventId: z.string(),
91
- EphemeralEarlyPubKey: z.string(),
92
- PartyId: z.string(),
93
- ShowRobloxTranslations: z.boolean(),
94
- MatchmakingAttributes: z.string(),
95
- TranslationDisplayMode: z.string(),
96
- });
97
- const Roblox_GameJoin_Api_GameJoinResponse = z.object({
98
- jobId: z.string(),
99
- status: z.number().int(),
100
- statusData: Roblox_Web_GameJoin_StatusData,
101
- joinScriptUrl: z.string(),
102
- authenticationUrl: z.string(),
103
- authenticationTicket: z.string(),
104
- message: z.string(),
105
- joinScript: Roblox_Web_GameLaunch_ConnectionFlow_JoinInformation,
106
- queuePosition: z.number().int(),
107
- });
108
- const Roblox_GameJoin_Api_JoinGameInstanceRequest = z.object({
109
- gameId: z.string().uuid(),
110
- cId: z.string(),
111
- gameJoinAttemptId: z.string().uuid(),
112
- placeId: z.number().int(),
113
- gamerTag: z.string(),
114
- isPlayTogetherGame: z.boolean(),
115
- browserTrackerId: z.number().int(),
116
- isTeleport: z.boolean(),
117
- isQueueAllowedOverride: z.boolean(),
118
- isImmersiveAdsTeleport: z.boolean(),
119
- channelName: z.string(),
120
- joinOrigin: z.string(),
121
- partyId: z.string().uuid(),
122
- });
123
- const Roblox_GameJoin_Api_JoinPlayTogetherGameRequest = z.object({
124
- conversationId: z.number().int(),
125
- gameJoinAttemptId: z.string().uuid(),
126
- placeId: z.number().int(),
127
- gamerTag: z.string(),
128
- isPlayTogetherGame: z.boolean(),
129
- browserTrackerId: z.number().int(),
130
- isTeleport: z.boolean(),
131
- isQueueAllowedOverride: z.boolean(),
132
- isImmersiveAdsTeleport: z.boolean(),
133
- channelName: z.string(),
134
- joinOrigin: z.string(),
135
- partyId: z.string().uuid(),
136
- });
137
- const Roblox_GameJoin_Api_JoinPrivateGameRequest = z.object({
138
- accessCode: z.string(),
139
- linkCode: z.string(),
140
- gameJoinAttemptId: z.string().uuid(),
141
- placeId: z.number().int(),
142
- gamerTag: z.string(),
143
- isPlayTogetherGame: z.boolean(),
144
- browserTrackerId: z.number().int(),
145
- isTeleport: z.boolean(),
146
- isQueueAllowedOverride: z.boolean(),
147
- isImmersiveAdsTeleport: z.boolean(),
148
- channelName: z.string(),
149
- joinOrigin: z.string(),
150
- partyId: z.string().uuid(),
151
- });
152
- const Roblox_GameJoin_Api_JoinReservedGameRequest = z.object({
153
- accessCode: z.string(),
154
- cId: z.string(),
155
- gameJoinAttemptId: z.string().uuid(),
156
- placeId: z.number().int(),
157
- gamerTag: z.string(),
158
- isPlayTogetherGame: z.boolean(),
159
- browserTrackerId: z.number().int(),
160
- isTeleport: z.boolean(),
161
- isQueueAllowedOverride: z.boolean(),
162
- isImmersiveAdsTeleport: z.boolean(),
163
- channelName: z.string(),
164
- joinOrigin: z.string(),
165
- partyId: z.string().uuid(),
166
- });
167
- const Roblox_GameJoin_Api_PlayWithUserRequest = z.object({
168
- userIdToFollow: z.number().int(),
169
- gameJoinAttemptId: z.string().uuid(),
170
- placeId: z.number().int(),
171
- gamerTag: z.string(),
172
- isPlayTogetherGame: z.boolean(),
173
- browserTrackerId: z.number().int(),
174
- isTeleport: z.boolean(),
175
- isQueueAllowedOverride: z.boolean(),
176
- isImmersiveAdsTeleport: z.boolean(),
177
- channelName: z.string(),
178
- joinOrigin: z.string(),
179
- partyId: z.string().uuid(),
180
- });
181
- const Roblox_GameJoin_Api_TeamCreateRequest = z.object({
182
- gameJoinAttemptId: z.string().uuid(),
183
- placeId: z.number().int(),
184
- gamerTag: z.string(),
185
- isPlayTogetherGame: z.boolean(),
186
- browserTrackerId: z.number().int(),
187
- isTeleport: z.boolean(),
188
- isQueueAllowedOverride: z.boolean(),
189
- isImmersiveAdsTeleport: z.boolean(),
190
- channelName: z.string(),
191
- joinOrigin: z.string(),
192
- partyId: z.string().uuid(),
193
- });
194
- const Roblox_GameJoin_Api_TeamCreateResponse = z.object({
195
- status: z.number().int(),
196
- message: z.string(),
197
- settings: z.object({}),
198
- });
199
-
200
- /**
201
- * @api POST https://gamejoin.roblox.com/v1/join-game
202
- * @summary Endpoint to join a game
203
- * @param body The Roblox.GameJoin.Api.GameJoinRequest in JSON format
204
- */
205
- export const postJoinGame = endpoint({
206
- method: 'POST',
207
- path: '/v1/join-game',
208
- baseUrl: 'https://gamejoin.roblox.com',
209
- requestFormat: 'json',
210
- serializationMethod: {
211
- body: {},
212
- },
213
- parameters: {},
214
- body: Roblox_GameJoin_Api_GameJoinRequest,
215
- response: Roblox_GameJoin_Api_GameJoinResponse,
216
- errors: [
217
- {
218
- status: 400,
219
- description: `-1: An unknown error occurred.`,
220
- },
221
- {
222
- status: 429,
223
- description: `3: Too many requests, please slow down.`,
224
- },
225
- ],
226
- });
227
- /**
228
- * @api POST https://gamejoin.roblox.com/v1/join-game-instance
229
- * @summary Endpoint to join a particular game instance
230
- * @param body The Roblox.GameJoin.Api.JoinGameInstanceRequest in JSON format
231
- */
232
- export const postJoinGameInstance = endpoint({
233
- method: 'POST',
234
- path: '/v1/join-game-instance',
235
- baseUrl: 'https://gamejoin.roblox.com',
236
- requestFormat: 'json',
237
- serializationMethod: {
238
- body: {},
239
- },
240
- parameters: {},
241
- body: Roblox_GameJoin_Api_JoinGameInstanceRequest,
242
- response: Roblox_GameJoin_Api_GameJoinResponse,
243
- errors: [
244
- {
245
- status: 400,
246
- description: `-1: An unknown error occurred.`,
247
- },
248
- {
249
- status: 429,
250
- description: `3: Too many requests, please slow down.`,
251
- },
252
- ],
253
- });
254
- /**
255
- * @api POST https://gamejoin.roblox.com/v1/join-play-together-game
256
- * @summary Endpoint to join play together game. DEPRECATED
257
- * @param body The Roblox.GameJoin.Api.JoinPlayTogetherGameRequest in JSON format
258
- */
259
- export const postJoinPlayTogetherGame = endpoint({
260
- method: 'POST',
261
- path: '/v1/join-play-together-game',
262
- baseUrl: 'https://gamejoin.roblox.com',
263
- requestFormat: 'json',
264
- serializationMethod: {
265
- body: {},
266
- },
267
- parameters: {},
268
- body: Roblox_GameJoin_Api_JoinPlayTogetherGameRequest,
269
- response: Roblox_GameJoin_Api_GameJoinResponse,
270
- errors: [
271
- {
272
- status: 400,
273
- description: `-1: An unknown error occurred.`,
274
- },
275
- {
276
- status: 429,
277
- description: `3: Too many requests, please slow down.`,
278
- },
279
- ],
280
- });
281
- /**
282
- * @api POST https://gamejoin.roblox.com/v1/join-private-game
283
- * @summary Endpoint to join a private game
284
- * @param body The Roblox.GameJoin.Api.JoinPrivateGameRequest in JSON format
285
- */
286
- export const postJoinPrivateGame = endpoint({
287
- method: 'POST',
288
- path: '/v1/join-private-game',
289
- baseUrl: 'https://gamejoin.roblox.com',
290
- requestFormat: 'json',
291
- serializationMethod: {
292
- body: {},
293
- },
294
- parameters: {},
295
- body: Roblox_GameJoin_Api_JoinPrivateGameRequest,
296
- response: Roblox_GameJoin_Api_GameJoinResponse,
297
- errors: [
298
- {
299
- status: 400,
300
- description: `-1: An unknown error occurred.`,
301
- },
302
- {
303
- status: 429,
304
- description: `3: Too many requests, please slow down.`,
305
- },
306
- ],
307
- });
308
- /**
309
- * @api POST https://gamejoin.roblox.com/v1/join-reserved-game
310
- * @summary Endpoint to join a reserved game
311
- * @param body The Roblox.GameJoin.Api.JoinReservedGameRequest in JSON format
312
- */
313
- export const postJoinReservedGame = endpoint({
314
- method: 'POST',
315
- path: '/v1/join-reserved-game',
316
- baseUrl: 'https://gamejoin.roblox.com',
317
- requestFormat: 'json',
318
- serializationMethod: {
319
- body: {},
320
- },
321
- parameters: {},
322
- body: Roblox_GameJoin_Api_JoinReservedGameRequest,
323
- response: Roblox_GameJoin_Api_GameJoinResponse,
324
- errors: [
325
- {
326
- status: 400,
327
- description: `-1: An unknown error occurred.`,
328
- },
329
- {
330
- status: 429,
331
- description: `3: Too many requests, please slow down.`,
332
- },
333
- ],
334
- });
335
- /**
336
- * @api GET https://gamejoin.roblox.com/v1/join-team-test
337
- * @summary Endpoint to join a team test.
338
- * @param PlaceId The Target Place Id for Team Test.
339
- * @param PlaceVersion The Target Place Version for Team Test.
340
- */
341
- export const getJoinTeamTest = endpoint({
342
- method: 'GET',
343
- path: '/v1/join-team-test',
344
- baseUrl: 'https://gamejoin.roblox.com',
345
- requestFormat: 'json',
346
- serializationMethod: {
347
- PlaceId: {
348
- style: 'form',
349
- explode: true,
350
- },
351
- PlaceVersion: {
352
- style: 'form',
353
- explode: true,
354
- },
355
- },
356
- parameters: {
357
- PlaceId: z.number().int(),
358
- PlaceVersion: z.number().int(),
359
- },
360
- response: z.void(),
361
- errors: [],
362
- });
363
- /**
364
- * @api POST https://gamejoin.roblox.com/v1/play-with-user
365
- * @summary Endpoint to play with user
366
- * @param body The Roblox.GameJoin.Api.PlayWithUserRequest in JSON format
367
- */
368
- export const postPlayWithUser = endpoint({
369
- method: 'POST',
370
- path: '/v1/play-with-user',
371
- baseUrl: 'https://gamejoin.roblox.com',
372
- requestFormat: 'json',
373
- serializationMethod: {
374
- body: {},
375
- },
376
- parameters: {},
377
- body: Roblox_GameJoin_Api_PlayWithUserRequest,
378
- response: Roblox_GameJoin_Api_GameJoinResponse,
379
- errors: [
380
- {
381
- status: 400,
382
- description: `-1: An unknown error occurred.`,
383
- },
384
- {
385
- status: 429,
386
- description: `3: Too many requests, please slow down.`,
387
- },
388
- ],
389
- });
390
- /**
391
- * @api POST https://gamejoin.roblox.com/v1/team-create
392
- * @summary Endpoint to join team create session
393
- * @param body The Roblox.GameJoin.Api.TeamCreateRequest in JSON format
394
- * @description Xsrf protection disabled because it will only be used on Roblox clients. Adding an extra
395
- round-trip would impact client performance.
396
- */
397
- export const postTeamCreate = endpoint({
398
- method: 'POST',
399
- path: '/v1/team-create',
400
- baseUrl: 'https://gamejoin.roblox.com',
401
- requestFormat: 'json',
402
- serializationMethod: {
403
- body: {},
404
- },
405
- parameters: {},
406
- body: Roblox_GameJoin_Api_TeamCreateRequest,
407
- response: Roblox_GameJoin_Api_TeamCreateResponse,
408
- errors: [
409
- {
410
- status: 400,
411
- description: `-1: An unknown error occurred.`,
412
- },
413
- {
414
- status: 403,
415
- description: `1: Request is not authorized from specified origin.
416
- 2: User is invalid or does not exist.`,
417
- },
418
- {
419
- status: 429,
420
- description: `3: Too many requests, please slow down.`,
421
- },
422
- ],
423
- });
424
- /**
425
- * @api POST https://gamejoin.roblox.com/v1/team-create-preemptive
426
- * @summary Endpoint to preemptively start team create session.
427
- * @param body The Roblox.GameJoin.Api.TeamCreateRequest in JSON format
428
- * @description Since the request origin might not be Roblox software, this endpoint implements a different set of security rules.
429
- More specifically, it requires Xsrf protection and disables user-agent check so that it can be called from browsers.
430
- */
431
- export const postTeamCreatePreemptive = endpoint({
432
- method: 'POST',
433
- path: '/v1/team-create-preemptive',
434
- baseUrl: 'https://gamejoin.roblox.com',
435
- requestFormat: 'json',
436
- serializationMethod: {
437
- body: {},
438
- },
439
- parameters: {},
440
- body: Roblox_GameJoin_Api_TeamCreateRequest,
441
- response: Roblox_GameJoin_Api_TeamCreateResponse,
442
- errors: [
443
- {
444
- status: 400,
445
- description: `-1: An unknown error occurred.`,
446
- },
447
- {
448
- status: 403,
449
- description: `0: Token Validation Failed
450
- 1: Request is not authorized from specified origin.
451
- 2: User is invalid or does not exist.`,
452
- },
453
- {
454
- status: 429,
455
- description: `3: Too many requests, please slow down.`,
456
- },
457
- ],
458
- });
1
+ import { z } from 'zod';
2
+ import { endpoint } from '..';
3
+
4
+ const Roblox_GameJoin_Api_GameJoinRequest = z.object({
5
+ isoContext: z.string(),
6
+ gameIdToExclude: z.string().uuid(),
7
+ eventId: z.string(),
8
+ gameJoinAttemptId: z.string().uuid(),
9
+ placeId: z.number().int(),
10
+ gamerTag: z.string(),
11
+ isPlayTogetherGame: z.boolean(),
12
+ browserTrackerId: z.number().int(),
13
+ isTeleport: z.boolean(),
14
+ isQueueAllowedOverride: z.boolean(),
15
+ isImmersiveAdsTeleport: z.boolean(),
16
+ channelName: z.string(),
17
+ joinOrigin: z.string(),
18
+ partyId: z.string().uuid(),
19
+ });
20
+ const Roblox_Web_GameJoin_StatusData_CreatorExperienceBanData = z.object({
21
+ startTime: z.string().datetime({ offset: true }),
22
+ durationSeconds: z.number().int(),
23
+ displayReason: z.string(),
24
+ displayReasonTextFilterStatus: z.number().int(),
25
+ isInherited: z.boolean(),
26
+ });
27
+ const Roblox_Web_GameJoin_StatusData = z.object({
28
+ creatorExperienceBan: Roblox_Web_GameJoin_StatusData_CreatorExperienceBanData,
29
+ });
30
+ const Roblox_Web_GameLaunch_ConnectionFlow_ServerConnection = z.object({
31
+ Address: z.string(),
32
+ Port: z.number().int(),
33
+ });
34
+ const Roblox_Web_GameLaunch_ConnectionFlow_UdmuxEndpoint = z.object({
35
+ Address: z.string(),
36
+ Port: z.number().int(),
37
+ });
38
+ const Roblox_Web_GameLaunch_ConnectionFlow_JoinInformation = z.object({
39
+ ClientPort: z.number().int(),
40
+ MachineAddress: z.string(),
41
+ ServerPort: z.number().int(),
42
+ ServerConnections: z.array(Roblox_Web_GameLaunch_ConnectionFlow_ServerConnection),
43
+ UdmuxEndpoints: z.array(Roblox_Web_GameLaunch_ConnectionFlow_UdmuxEndpoint),
44
+ DirectServerReturn: z.boolean(),
45
+ TokenGenAlgorithm: z.number().int(),
46
+ PepperId: z.number().int(),
47
+ TokenValue: z.string(),
48
+ PingUrl: z.string(),
49
+ PingInterval: z.number().int(),
50
+ UserName: z.string(),
51
+ DisplayName: z.string(),
52
+ HasVerifiedBadge: z.boolean(),
53
+ SeleniumTestMode: z.boolean(),
54
+ UserId: z.number().int(),
55
+ RobloxLocale: z.string(),
56
+ GameLocale: z.string(),
57
+ SuperSafeChat: z.boolean(),
58
+ FlexibleChatEnabled: z.boolean(),
59
+ CharacterAppearance: z.string(),
60
+ ClientTicket: z.string(),
61
+ GameId: z.string(),
62
+ PlaceId: z.number().int(),
63
+ BaseUrl: z.string(),
64
+ ChatStyle: z.string(),
65
+ CreatorId: z.number().int(),
66
+ CreatorTypeEnum: z.string(),
67
+ MembershipType: z.string(),
68
+ AccountAge: z.number().int(),
69
+ CookieStoreFirstTimePlayKey: z.string(),
70
+ CookieStoreFiveMinutePlayKey: z.string(),
71
+ CookieStoreEnabled: z.boolean(),
72
+ IsUnknownOrUnder13: z.boolean(),
73
+ GameChatType: z.string(),
74
+ WhoCanWhisperChatWithMeInExperiences: z.string(),
75
+ SessionId: z.string(),
76
+ AnalyticsSessionId: z.string(),
77
+ DataCenterId: z.number().int(),
78
+ UniverseId: z.number().int(),
79
+ FollowUserId: z.number().int(),
80
+ characterAppearanceId: z.number().int(),
81
+ CountryCode: z.string(),
82
+ AlternateName: z.string(),
83
+ RandomSeed1: z.string().regex(/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/),
84
+ ClientPublicKeyData: z.string(),
85
+ RccVersion: z.string(),
86
+ ChannelName: z.string(),
87
+ VerifiedAMP: z.number().int(),
88
+ PrivateServerOwnerID: z.number().int(),
89
+ PrivateServerID: z.string(),
90
+ EventId: z.string(),
91
+ EphemeralEarlyPubKey: z.string(),
92
+ PartyId: z.string(),
93
+ ShowRobloxTranslations: z.boolean(),
94
+ MatchmakingAttributes: z.string(),
95
+ TranslationDisplayMode: z.string(),
96
+ });
97
+ const Roblox_GameJoin_Api_GameJoinResponse = z.object({
98
+ jobId: z.string(),
99
+ status: z.number().int(),
100
+ statusData: Roblox_Web_GameJoin_StatusData,
101
+ joinScriptUrl: z.string(),
102
+ authenticationUrl: z.string(),
103
+ authenticationTicket: z.string(),
104
+ message: z.string(),
105
+ joinScript: Roblox_Web_GameLaunch_ConnectionFlow_JoinInformation,
106
+ queuePosition: z.number().int(),
107
+ });
108
+ const Roblox_GameJoin_Api_JoinGameInstanceRequest = z.object({
109
+ gameId: z.string().uuid(),
110
+ cId: z.string(),
111
+ gameJoinAttemptId: z.string().uuid(),
112
+ placeId: z.number().int(),
113
+ gamerTag: z.string(),
114
+ isPlayTogetherGame: z.boolean(),
115
+ browserTrackerId: z.number().int(),
116
+ isTeleport: z.boolean(),
117
+ isQueueAllowedOverride: z.boolean(),
118
+ isImmersiveAdsTeleport: z.boolean(),
119
+ channelName: z.string(),
120
+ joinOrigin: z.string(),
121
+ partyId: z.string().uuid(),
122
+ });
123
+ const Roblox_GameJoin_Api_JoinPlayTogetherGameRequest = z.object({
124
+ conversationId: z.number().int(),
125
+ gameJoinAttemptId: z.string().uuid(),
126
+ placeId: z.number().int(),
127
+ gamerTag: z.string(),
128
+ isPlayTogetherGame: z.boolean(),
129
+ browserTrackerId: z.number().int(),
130
+ isTeleport: z.boolean(),
131
+ isQueueAllowedOverride: z.boolean(),
132
+ isImmersiveAdsTeleport: z.boolean(),
133
+ channelName: z.string(),
134
+ joinOrigin: z.string(),
135
+ partyId: z.string().uuid(),
136
+ });
137
+ const Roblox_GameJoin_Api_JoinPrivateGameRequest = z.object({
138
+ accessCode: z.string(),
139
+ linkCode: z.string(),
140
+ gameJoinAttemptId: z.string().uuid(),
141
+ placeId: z.number().int(),
142
+ gamerTag: z.string(),
143
+ isPlayTogetherGame: z.boolean(),
144
+ browserTrackerId: z.number().int(),
145
+ isTeleport: z.boolean(),
146
+ isQueueAllowedOverride: z.boolean(),
147
+ isImmersiveAdsTeleport: z.boolean(),
148
+ channelName: z.string(),
149
+ joinOrigin: z.string(),
150
+ partyId: z.string().uuid(),
151
+ });
152
+ const Roblox_GameJoin_Api_JoinReservedGameRequest = z.object({
153
+ accessCode: z.string(),
154
+ cId: z.string(),
155
+ gameJoinAttemptId: z.string().uuid(),
156
+ placeId: z.number().int(),
157
+ gamerTag: z.string(),
158
+ isPlayTogetherGame: z.boolean(),
159
+ browserTrackerId: z.number().int(),
160
+ isTeleport: z.boolean(),
161
+ isQueueAllowedOverride: z.boolean(),
162
+ isImmersiveAdsTeleport: z.boolean(),
163
+ channelName: z.string(),
164
+ joinOrigin: z.string(),
165
+ partyId: z.string().uuid(),
166
+ });
167
+ const Roblox_GameJoin_Api_PlayWithUserRequest = z.object({
168
+ userIdToFollow: z.number().int(),
169
+ gameJoinAttemptId: z.string().uuid(),
170
+ placeId: z.number().int(),
171
+ gamerTag: z.string(),
172
+ isPlayTogetherGame: z.boolean(),
173
+ browserTrackerId: z.number().int(),
174
+ isTeleport: z.boolean(),
175
+ isQueueAllowedOverride: z.boolean(),
176
+ isImmersiveAdsTeleport: z.boolean(),
177
+ channelName: z.string(),
178
+ joinOrigin: z.string(),
179
+ partyId: z.string().uuid(),
180
+ });
181
+ const Roblox_GameJoin_Api_TeamCreateRequest = z.object({
182
+ gameJoinAttemptId: z.string().uuid(),
183
+ placeId: z.number().int(),
184
+ gamerTag: z.string(),
185
+ isPlayTogetherGame: z.boolean(),
186
+ browserTrackerId: z.number().int(),
187
+ isTeleport: z.boolean(),
188
+ isQueueAllowedOverride: z.boolean(),
189
+ isImmersiveAdsTeleport: z.boolean(),
190
+ channelName: z.string(),
191
+ joinOrigin: z.string(),
192
+ partyId: z.string().uuid(),
193
+ });
194
+ const Roblox_GameJoin_Api_TeamCreateResponse = z.object({
195
+ status: z.number().int(),
196
+ message: z.string(),
197
+ settings: z.object({}),
198
+ });
199
+
200
+ /**
201
+ * @api POST https://gamejoin.roblox.com/v1/join-game
202
+ * @summary Endpoint to join a game
203
+ * @param body The Roblox.GameJoin.Api.GameJoinRequest in JSON format
204
+ */
205
+ export const postJoinGame = endpoint({
206
+ method: 'POST',
207
+ path: '/v1/join-game',
208
+ baseUrl: 'https://gamejoin.roblox.com',
209
+ requestFormat: 'json',
210
+ serializationMethod: {
211
+ body: {},
212
+ },
213
+ parameters: {},
214
+ body: Roblox_GameJoin_Api_GameJoinRequest,
215
+ response: Roblox_GameJoin_Api_GameJoinResponse,
216
+ errors: [
217
+ {
218
+ status: 400,
219
+ description: `-1: An unknown error occurred.`,
220
+ },
221
+ {
222
+ status: 429,
223
+ description: `3: Too many requests, please slow down.`,
224
+ },
225
+ ],
226
+ });
227
+ /**
228
+ * @api POST https://gamejoin.roblox.com/v1/join-game-instance
229
+ * @summary Endpoint to join a particular game instance
230
+ * @param body The Roblox.GameJoin.Api.JoinGameInstanceRequest in JSON format
231
+ */
232
+ export const postJoinGameInstance = endpoint({
233
+ method: 'POST',
234
+ path: '/v1/join-game-instance',
235
+ baseUrl: 'https://gamejoin.roblox.com',
236
+ requestFormat: 'json',
237
+ serializationMethod: {
238
+ body: {},
239
+ },
240
+ parameters: {},
241
+ body: Roblox_GameJoin_Api_JoinGameInstanceRequest,
242
+ response: Roblox_GameJoin_Api_GameJoinResponse,
243
+ errors: [
244
+ {
245
+ status: 400,
246
+ description: `-1: An unknown error occurred.`,
247
+ },
248
+ {
249
+ status: 429,
250
+ description: `3: Too many requests, please slow down.`,
251
+ },
252
+ ],
253
+ });
254
+ /**
255
+ * @api POST https://gamejoin.roblox.com/v1/join-play-together-game
256
+ * @summary Endpoint to join play together game. DEPRECATED
257
+ * @param body The Roblox.GameJoin.Api.JoinPlayTogetherGameRequest in JSON format
258
+ */
259
+ export const postJoinPlayTogetherGame = endpoint({
260
+ method: 'POST',
261
+ path: '/v1/join-play-together-game',
262
+ baseUrl: 'https://gamejoin.roblox.com',
263
+ requestFormat: 'json',
264
+ serializationMethod: {
265
+ body: {},
266
+ },
267
+ parameters: {},
268
+ body: Roblox_GameJoin_Api_JoinPlayTogetherGameRequest,
269
+ response: Roblox_GameJoin_Api_GameJoinResponse,
270
+ errors: [
271
+ {
272
+ status: 400,
273
+ description: `-1: An unknown error occurred.`,
274
+ },
275
+ {
276
+ status: 429,
277
+ description: `3: Too many requests, please slow down.`,
278
+ },
279
+ ],
280
+ });
281
+ /**
282
+ * @api POST https://gamejoin.roblox.com/v1/join-private-game
283
+ * @summary Endpoint to join a private game
284
+ * @param body The Roblox.GameJoin.Api.JoinPrivateGameRequest in JSON format
285
+ */
286
+ export const postJoinPrivateGame = endpoint({
287
+ method: 'POST',
288
+ path: '/v1/join-private-game',
289
+ baseUrl: 'https://gamejoin.roblox.com',
290
+ requestFormat: 'json',
291
+ serializationMethod: {
292
+ body: {},
293
+ },
294
+ parameters: {},
295
+ body: Roblox_GameJoin_Api_JoinPrivateGameRequest,
296
+ response: Roblox_GameJoin_Api_GameJoinResponse,
297
+ errors: [
298
+ {
299
+ status: 400,
300
+ description: `-1: An unknown error occurred.`,
301
+ },
302
+ {
303
+ status: 429,
304
+ description: `3: Too many requests, please slow down.`,
305
+ },
306
+ ],
307
+ });
308
+ /**
309
+ * @api POST https://gamejoin.roblox.com/v1/join-reserved-game
310
+ * @summary Endpoint to join a reserved game
311
+ * @param body The Roblox.GameJoin.Api.JoinReservedGameRequest in JSON format
312
+ */
313
+ export const postJoinReservedGame = endpoint({
314
+ method: 'POST',
315
+ path: '/v1/join-reserved-game',
316
+ baseUrl: 'https://gamejoin.roblox.com',
317
+ requestFormat: 'json',
318
+ serializationMethod: {
319
+ body: {},
320
+ },
321
+ parameters: {},
322
+ body: Roblox_GameJoin_Api_JoinReservedGameRequest,
323
+ response: Roblox_GameJoin_Api_GameJoinResponse,
324
+ errors: [
325
+ {
326
+ status: 400,
327
+ description: `-1: An unknown error occurred.`,
328
+ },
329
+ {
330
+ status: 429,
331
+ description: `3: Too many requests, please slow down.`,
332
+ },
333
+ ],
334
+ });
335
+ /**
336
+ * @api GET https://gamejoin.roblox.com/v1/join-team-test
337
+ * @summary Endpoint to join a team test.
338
+ * @param PlaceId The Target Place Id for Team Test.
339
+ * @param PlaceVersion The Target Place Version for Team Test.
340
+ */
341
+ export const getJoinTeamTest = endpoint({
342
+ method: 'GET',
343
+ path: '/v1/join-team-test',
344
+ baseUrl: 'https://gamejoin.roblox.com',
345
+ requestFormat: 'json',
346
+ serializationMethod: {
347
+ PlaceId: {
348
+ style: 'form',
349
+ explode: true,
350
+ },
351
+ PlaceVersion: {
352
+ style: 'form',
353
+ explode: true,
354
+ },
355
+ },
356
+ parameters: {
357
+ PlaceId: z.number().int(),
358
+ PlaceVersion: z.number().int(),
359
+ },
360
+ response: z.void(),
361
+ errors: [],
362
+ });
363
+ /**
364
+ * @api POST https://gamejoin.roblox.com/v1/play-with-user
365
+ * @summary Endpoint to play with user
366
+ * @param body The Roblox.GameJoin.Api.PlayWithUserRequest in JSON format
367
+ */
368
+ export const postPlayWithUser = endpoint({
369
+ method: 'POST',
370
+ path: '/v1/play-with-user',
371
+ baseUrl: 'https://gamejoin.roblox.com',
372
+ requestFormat: 'json',
373
+ serializationMethod: {
374
+ body: {},
375
+ },
376
+ parameters: {},
377
+ body: Roblox_GameJoin_Api_PlayWithUserRequest,
378
+ response: Roblox_GameJoin_Api_GameJoinResponse,
379
+ errors: [
380
+ {
381
+ status: 400,
382
+ description: `-1: An unknown error occurred.`,
383
+ },
384
+ {
385
+ status: 429,
386
+ description: `3: Too many requests, please slow down.`,
387
+ },
388
+ ],
389
+ });
390
+ /**
391
+ * @api POST https://gamejoin.roblox.com/v1/team-create
392
+ * @summary Endpoint to join team create session
393
+ * @param body The Roblox.GameJoin.Api.TeamCreateRequest in JSON format
394
+ * @description Xsrf protection disabled because it will only be used on Roblox clients. Adding an extra
395
+ round-trip would impact client performance.
396
+ */
397
+ export const postTeamCreate = endpoint({
398
+ method: 'POST',
399
+ path: '/v1/team-create',
400
+ baseUrl: 'https://gamejoin.roblox.com',
401
+ requestFormat: 'json',
402
+ serializationMethod: {
403
+ body: {},
404
+ },
405
+ parameters: {},
406
+ body: Roblox_GameJoin_Api_TeamCreateRequest,
407
+ response: Roblox_GameJoin_Api_TeamCreateResponse,
408
+ errors: [
409
+ {
410
+ status: 400,
411
+ description: `-1: An unknown error occurred.`,
412
+ },
413
+ {
414
+ status: 403,
415
+ description: `1: Request is not authorized from specified origin.
416
+ 2: User is invalid or does not exist.`,
417
+ },
418
+ {
419
+ status: 429,
420
+ description: `3: Too many requests, please slow down.`,
421
+ },
422
+ ],
423
+ });
424
+ /**
425
+ * @api POST https://gamejoin.roblox.com/v1/team-create-preemptive
426
+ * @summary Endpoint to preemptively start team create session.
427
+ * @param body The Roblox.GameJoin.Api.TeamCreateRequest in JSON format
428
+ * @description Since the request origin might not be Roblox software, this endpoint implements a different set of security rules.
429
+ More specifically, it requires Xsrf protection and disables user-agent check so that it can be called from browsers.
430
+ */
431
+ export const postTeamCreatePreemptive = endpoint({
432
+ method: 'POST',
433
+ path: '/v1/team-create-preemptive',
434
+ baseUrl: 'https://gamejoin.roblox.com',
435
+ requestFormat: 'json',
436
+ serializationMethod: {
437
+ body: {},
438
+ },
439
+ parameters: {},
440
+ body: Roblox_GameJoin_Api_TeamCreateRequest,
441
+ response: Roblox_GameJoin_Api_TeamCreateResponse,
442
+ errors: [
443
+ {
444
+ status: 400,
445
+ description: `-1: An unknown error occurred.`,
446
+ },
447
+ {
448
+ status: 403,
449
+ description: `0: Token Validation Failed
450
+ 1: Request is not authorized from specified origin.
451
+ 2: User is invalid or does not exist.`,
452
+ },
453
+ {
454
+ status: 429,
455
+ description: `3: Too many requests, please slow down.`,
456
+ },
457
+ ],
458
+ });