rozod 6.7.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.
- package/lib/endpoints/accountinformationv1.d.ts +50 -87
- package/lib/endpoints/accountinformationv1.js +46 -90
- package/lib/endpoints/assetdeliveryv1.d.ts +1 -0
- package/lib/endpoints/assetdeliveryv1.js +1 -0
- package/lib/endpoints/assetdeliveryv2.d.ts +1 -0
- package/lib/endpoints/assetdeliveryv2.js +1 -0
- package/lib/endpoints/authv1.d.ts +64 -1
- package/lib/endpoints/authv1.js +67 -3
- package/lib/endpoints/authv2.d.ts +21 -0
- package/lib/endpoints/authv2.js +22 -1
- package/lib/endpoints/avatarv1.d.ts +9 -6
- package/lib/endpoints/avatarv1.js +9 -6
- package/lib/endpoints/avatarv2.d.ts +11 -5
- package/lib/endpoints/avatarv2.js +11 -5
- package/lib/endpoints/avatarv3.d.ts +16 -7
- package/lib/endpoints/avatarv3.js +16 -7
- package/lib/endpoints/catalogv1.d.ts +23 -2
- package/lib/endpoints/catalogv1.js +19 -2
- package/lib/endpoints/catalogv2.d.ts +242 -6
- package/lib/endpoints/catalogv2.js +235 -7
- package/lib/endpoints/chatv2.d.ts +778 -778
- package/lib/endpoints/clientsettingsv2.d.ts +6 -0
- package/lib/endpoints/clientsettingsv2.js +6 -0
- package/lib/endpoints/contactsv1.d.ts +18 -22
- package/lib/endpoints/contactsv1.js +14 -22
- package/lib/endpoints/developv1.d.ts +33 -1
- package/lib/endpoints/developv1.js +9 -3
- package/lib/endpoints/developv2.d.ts +29 -2
- package/lib/endpoints/developv2.js +13 -4
- package/lib/endpoints/gameinternationalizationv1.d.ts +59 -0
- package/lib/endpoints/gameinternationalizationv1.js +57 -1
- package/lib/endpoints/gamejoinv1.d.ts +458 -458
- package/lib/endpoints/gamesv1.d.ts +77 -0
- package/lib/endpoints/gamesv1.js +68 -97
- package/lib/endpoints/gamesv2.d.ts +1 -0
- package/lib/endpoints/gamesv2.js +1 -0
- package/lib/endpoints/groupsv1.d.ts +7 -3
- package/lib/endpoints/groupsv1.js +7 -3
- package/lib/endpoints/groupsv2.d.ts +1 -0
- package/lib/endpoints/groupsv2.js +1 -0
- package/lib/endpoints/inventoryv2.d.ts +68 -0
- package/lib/endpoints/inventoryv2.js +66 -1
- package/lib/endpoints/localev1.d.ts +27 -0
- package/lib/endpoints/localev1.js +28 -1
- package/lib/endpoints/metricsv1.d.ts +88 -88
- package/lib/endpoints/publishv1.d.ts +3 -6
- package/lib/endpoints/publishv1.js +3 -6
- package/lib/opencloud/v2/cloud.d.ts +27 -5
- package/lib/opencloud/v2/cloud.js +43 -6
- package/package.json +108 -108
|
@@ -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
|
+
});
|