rozod 6.1.0 → 6.2.0
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/README.md +34 -0
- package/lib/endpoints/accountinformationv1.d.ts +113 -180
- package/lib/endpoints/accountinformationv1.js +1 -5
- package/lib/endpoints/accountsettingsv1.d.ts +114 -76
- package/lib/endpoints/accountsettingsv1.js +22 -1
- package/lib/endpoints/adconfigurationv2.d.ts +204 -98
- package/lib/endpoints/assetdeliveryv1.d.ts +419 -147
- package/lib/endpoints/assetdeliveryv1.js +5 -0
- package/lib/endpoints/assetdeliveryv2.d.ts +179 -147
- package/lib/endpoints/assetdeliveryv2.js +5 -0
- package/lib/endpoints/authv1.d.ts +497 -399
- package/lib/endpoints/authv1.js +47 -2
- package/lib/endpoints/authv2.d.ts +224 -159
- package/lib/endpoints/authv2.js +46 -1
- package/lib/endpoints/authv3.d.ts +25 -22
- package/lib/endpoints/avatarv1.d.ts +224 -569
- package/lib/endpoints/avatarv1.js +80 -51
- package/lib/endpoints/avatarv2.d.ts +144 -96
- package/lib/endpoints/avatarv2.js +59 -56
- package/lib/endpoints/avatarv3.d.ts +81 -19
- package/lib/endpoints/avatarv3.js +24 -5
- package/lib/endpoints/badgesv1.d.ts +114 -130
- package/lib/endpoints/badgesv1.js +20 -0
- package/lib/endpoints/catalogv1.d.ts +232 -177
- package/lib/endpoints/catalogv1.js +17 -6
- package/lib/endpoints/catalogv2.d.ts +90 -39
- package/lib/endpoints/catalogv2.js +9 -2
- package/lib/endpoints/clientsettingsv1.d.ts +32 -29
- package/lib/endpoints/clientsettingsv2.d.ts +109 -43
- package/lib/endpoints/contactsv1.d.ts +26 -25
- package/lib/endpoints/developv1.d.ts +278 -190
- package/lib/endpoints/developv1.js +48 -1
- package/lib/endpoints/developv2.d.ts +101 -61
- package/lib/endpoints/economycreatorstatsv1.d.ts +11 -11
- package/lib/endpoints/economyv1.d.ts +6 -6
- package/lib/endpoints/engagementpayoutsv1.d.ts +9 -9
- package/lib/endpoints/followingsv1.d.ts +34 -33
- package/lib/endpoints/followingsv2.d.ts +7 -7
- package/lib/endpoints/friendsv1.d.ts +301 -383
- package/lib/endpoints/friendsv1.js +26 -1
- package/lib/endpoints/gameinternationalizationv1.d.ts +1644 -1470
- package/lib/endpoints/gameinternationalizationv2.d.ts +64 -58
- package/lib/endpoints/gamesv1.d.ts +187 -317
- package/lib/endpoints/gamesv1.js +11 -71
- package/lib/endpoints/gamesv2.d.ts +178 -160
- package/lib/endpoints/gamesv2.js +3 -0
- package/lib/endpoints/groupsv1.d.ts +1433 -812
- package/lib/endpoints/groupsv1.js +3 -0
- package/lib/endpoints/groupsv2.d.ts +236 -51
- package/lib/endpoints/groupsv2.js +4 -1
- package/lib/endpoints/inventoryv1.d.ts +137 -90
- package/lib/endpoints/inventoryv2.d.ts +82 -63
- package/lib/endpoints/itemconfigurationv1.d.ts +78 -134
- package/lib/endpoints/itemconfigurationv1.js +15 -78
- package/lib/endpoints/localev1.d.ts +81 -39
- package/lib/endpoints/localizationtablesv1.d.ts +361 -308
- package/lib/endpoints/localizationtablesv1.js +1 -1
- package/lib/endpoints/matchmakingv1.d.ts +462 -0
- package/lib/endpoints/notificationsv2.d.ts +145 -135
- package/lib/endpoints/premiumfeaturesv1.d.ts +14 -14
- package/lib/endpoints/presencev1.d.ts +45 -23
- package/lib/endpoints/privatemessagesv1.d.ts +64 -56
- package/lib/endpoints/publishv1.d.ts +32 -32
- package/lib/endpoints/thumbnailsresizerv1.d.ts +53 -52
- package/lib/endpoints/thumbnailsv1.d.ts +368 -299
- package/lib/endpoints/thumbnailsv1.js +2 -0
- package/lib/endpoints/tradesv1.d.ts +262 -70
- package/lib/endpoints/tradesv1.js +175 -1
- package/lib/endpoints/tradesv2.d.ts +206 -50
- package/lib/endpoints/tradesv2.js +83 -1
- package/lib/endpoints/translationrolesv1.d.ts +51 -46
- package/lib/endpoints/twostepverificationv1.d.ts +190 -180
- package/lib/endpoints/twostepverificationv1.js +1 -0
- package/lib/endpoints/usersv1.d.ts +117 -111
- package/lib/index.d.ts +127 -0
- package/lib/index.js +342 -25
- package/lib/opencloud/v1/assets.d.ts +86 -23
- package/lib/opencloud/v1/assets.js +4 -10
- package/lib/opencloud/v1/datastores-ordered.d.ts +8 -8
- package/lib/opencloud/v1/datastores-ordered.js +8 -8
- package/lib/opencloud/v1/datastores.d.ts +11 -11
- package/lib/opencloud/v1/datastores.js +11 -11
- package/lib/opencloud/v1/messaging.d.ts +2 -2
- package/lib/opencloud/v1/messaging.js +2 -2
- package/lib/opencloud/v1/toolbox.d.ts +3 -1
- package/lib/opencloud/v1/toolbox.js +1 -0
- package/lib/opencloud/v1/universes.d.ts +2 -2
- package/lib/opencloud/v1/universes.js +2 -2
- package/lib/opencloud/v2/cloud.d.ts +9 -4
- package/lib/opencloud/v2/cloud.js +10 -5
- package/package.json +4 -5
package/README.md
CHANGED
|
@@ -335,6 +335,40 @@ RoZod automatically handles advanced Roblox security requirements:
|
|
|
335
335
|
- **✅ Hardware-Backed Authentication** - Full HBA signature support
|
|
336
336
|
- **✅ Challenge Handling** - Captchas, 2FA, and other authentication challenges
|
|
337
337
|
- **✅ Cookie Security** - Secure cookie parsing and validation
|
|
338
|
+
- **✅ Cookie Rotation** - Automatic handling of Roblox's cookie rotation
|
|
339
|
+
|
|
340
|
+
### Cookie Rotation Handling
|
|
341
|
+
|
|
342
|
+
Roblox is gradually implementing `.ROBLOSECURITY` cookie rotation for improved security. RoZod automatically detects when cookies are rotated and can notify you to persist the new values:
|
|
343
|
+
|
|
344
|
+
```ts
|
|
345
|
+
import { configureServer, refreshCookie, getCookies } from 'rozod';
|
|
346
|
+
|
|
347
|
+
configureServer({
|
|
348
|
+
cookies: process.env.ROBLOX_COOKIE,
|
|
349
|
+
onCookieRefresh: async ({ oldCookie, newCookie, poolIndex }) => {
|
|
350
|
+
// Roblox rotated the cookie - persist the new value
|
|
351
|
+
await db.updateCookie(poolIndex, newCookie);
|
|
352
|
+
console.log('Cookie rotated and saved!');
|
|
353
|
+
}
|
|
354
|
+
});
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
The internal cookie pool updates automatically, so the callback is only needed if you want to persist cookies across restarts.
|
|
358
|
+
|
|
359
|
+
You can also proactively refresh cookies before they expire:
|
|
360
|
+
|
|
361
|
+
```ts
|
|
362
|
+
// Refresh on a schedule or before important operations
|
|
363
|
+
const result = await refreshCookie(0);
|
|
364
|
+
if (result.success) {
|
|
365
|
+
await db.updateCookie(0, result.newCookie);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
// Utility functions
|
|
369
|
+
const allCookies = getCookies(); // Get current cookie values
|
|
370
|
+
updateCookie(0, 'new_value'); // Manually update a cookie
|
|
371
|
+
```
|
|
338
372
|
|
|
339
373
|
### Challenge Handling
|
|
340
374
|
|
|
@@ -1,18 +1,11 @@
|
|
|
1
|
-
import { z } from
|
|
2
|
-
import { endpoint } from
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { endpoint } from "..";
|
|
3
3
|
|
|
4
4
|
const Roblox_AccountInformation_Api_Models_BirthdateResponse = z.object({
|
|
5
5
|
birthMonth: z.number().int(),
|
|
6
6
|
birthDay: z.number().int(),
|
|
7
7
|
birthYear: z.number().int(),
|
|
8
8
|
});
|
|
9
|
-
const Roblox_AccountInformation_Api_Models_BirthdateRequest = z.object({
|
|
10
|
-
birthMonth: z.number().int(),
|
|
11
|
-
birthDay: z.number().int(),
|
|
12
|
-
birthYear: z.number().int(),
|
|
13
|
-
password: z.string(),
|
|
14
|
-
});
|
|
15
|
-
const Roblox_Web_WebAPI_ApiEmptyResponseModel = z.object({});
|
|
16
9
|
const Roblox_AccountInformation_Api_Models_DescriptionResponse = z.object({
|
|
17
10
|
description: z.string(),
|
|
18
11
|
});
|
|
@@ -25,6 +18,7 @@ const Roblox_AccountInformation_Api_Models_GenderResponse = z.object({
|
|
|
25
18
|
const Roblox_AccountInformation_Api_Models_GenderRequest = z.object({
|
|
26
19
|
gender: z.string(),
|
|
27
20
|
});
|
|
21
|
+
const Roblox_Web_WebAPI_ApiEmptyResponseModel = z.object({});
|
|
28
22
|
const Roblox_AccountInformation_Api_Models_MetadataResponse = z.object({
|
|
29
23
|
isAllowedNotificationsEndpointDisabled: z.boolean(),
|
|
30
24
|
isAccountSettingsPolicyEnabled: z.boolean(),
|
|
@@ -32,9 +26,9 @@ const Roblox_AccountInformation_Api_Models_MetadataResponse = z.object({
|
|
|
32
26
|
MaxUserDescriptionLength: z.number().int(),
|
|
33
27
|
isUserDescriptionEnabled: z.boolean(),
|
|
34
28
|
isUserBlockEndpointsUpdated: z.boolean(),
|
|
35
|
-
isPasswordRequiredForAgingDown: z.boolean(),
|
|
36
29
|
shouldUsePersonaForIdVerification: z.boolean(),
|
|
37
30
|
shouldDisplaySessionManagement: z.boolean(),
|
|
31
|
+
isPasswordRequiredForAgingDown: z.boolean(),
|
|
38
32
|
});
|
|
39
33
|
const Roblox_AccountInformation_Api_Models_PhoneResponse = z.object({
|
|
40
34
|
countryCode: z.string(),
|
|
@@ -51,48 +45,43 @@ const Roblox_AccountInformation_Api_Models_PhoneRequest = z.object({
|
|
|
51
45
|
password: z.string(),
|
|
52
46
|
verificationChannel: z.string(),
|
|
53
47
|
});
|
|
54
|
-
const Roblox_Platform_UserPhoneNumberVerification_Models_PendingVerificationResponse =
|
|
55
|
-
verificationChannel: z.string(),
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
});
|
|
48
|
+
const Roblox_Platform_UserPhoneNumberVerification_Models_PendingVerificationResponse =
|
|
49
|
+
z.object({ verificationChannel: z.string(), data: z.string() });
|
|
50
|
+
const Roblox_AccountInformation_Api_Models_PromotionChannelsResponse = z.object(
|
|
51
|
+
{
|
|
52
|
+
promotionChannelsVisibilityPrivacy: z.string(),
|
|
53
|
+
facebook: z.string(),
|
|
54
|
+
twitter: z.string(),
|
|
55
|
+
youtube: z.string(),
|
|
56
|
+
twitch: z.string(),
|
|
57
|
+
}
|
|
58
|
+
);
|
|
66
59
|
const Roblox_AccountInformation_Api_Models_PromotionChannelsRequest = z.object({
|
|
67
60
|
facebook: z.string(),
|
|
68
61
|
twitter: z.string(),
|
|
69
62
|
youtube: z.string(),
|
|
70
63
|
twitch: z.string(),
|
|
71
|
-
guilded: z.string(),
|
|
72
64
|
promotionChannelsVisibilityPrivacy: z.string(),
|
|
73
65
|
});
|
|
74
|
-
const Roblox_AccountInformation_Api_Models_StarCodeAffiliateResponse = z.object(
|
|
75
|
-
userId: z.number().int(),
|
|
76
|
-
|
|
77
|
-
code: z.string(),
|
|
78
|
-
});
|
|
66
|
+
const Roblox_AccountInformation_Api_Models_StarCodeAffiliateResponse = z.object(
|
|
67
|
+
{ userId: z.number().int(), name: z.string(), code: z.string() }
|
|
68
|
+
);
|
|
79
69
|
const Roblox_AccountInformation_Api_Models_StarCodeAffiliateRequest = z.object({
|
|
80
70
|
code: z.string(),
|
|
81
71
|
});
|
|
82
|
-
const Roblox_AccountInformation_Api_Models_PromotionChannelsByUserIdResponse =
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
});
|
|
72
|
+
const Roblox_AccountInformation_Api_Models_PromotionChannelsByUserIdResponse =
|
|
73
|
+
z.object({
|
|
74
|
+
facebook: z.string(),
|
|
75
|
+
twitter: z.string(),
|
|
76
|
+
youtube: z.string(),
|
|
77
|
+
twitch: z.string(),
|
|
78
|
+
});
|
|
89
79
|
const Roblox_AccountInformation_Api_RobloxBadgeResponse = z.object({
|
|
90
80
|
id: z.number().int(),
|
|
91
81
|
name: z.string(),
|
|
92
82
|
description: z.string(),
|
|
93
83
|
imageUrl: z.string(),
|
|
94
84
|
});
|
|
95
|
-
const Roblox_AccountInformation_Api_Models_ConsecutiveLoginDaysResponse = z.object({ count: z.number().int() });
|
|
96
85
|
const Roblox_AccountInformation_Api_Models_VerifyEmailRequest = z.object({
|
|
97
86
|
ticket: z.string(),
|
|
98
87
|
});
|
|
@@ -109,10 +98,10 @@ const Roblox_AccountInformation_Api_Models_VerifyPhoneRequest = z.object({
|
|
|
109
98
|
* @summary Get the user's birthdate
|
|
110
99
|
*/
|
|
111
100
|
export const getBirthdate = endpoint({
|
|
112
|
-
method:
|
|
113
|
-
path:
|
|
114
|
-
baseUrl:
|
|
115
|
-
requestFormat:
|
|
101
|
+
method: "GET",
|
|
102
|
+
path: "/v1/birthdate",
|
|
103
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
104
|
+
requestFormat: "json",
|
|
116
105
|
response: Roblox_AccountInformation_Api_Models_BirthdateResponse,
|
|
117
106
|
errors: [
|
|
118
107
|
{
|
|
@@ -125,54 +114,15 @@ export const getBirthdate = endpoint({
|
|
|
125
114
|
},
|
|
126
115
|
],
|
|
127
116
|
});
|
|
128
|
-
/**
|
|
129
|
-
* @api POST https://accountinformation.roblox.com/v1/birthdate
|
|
130
|
-
* @summary Update the user's birthdate
|
|
131
|
-
* @param body The Roblox.AccountInformation.Api.Models.BirthdateRequest
|
|
132
|
-
*/
|
|
133
|
-
export const postBirthdate = endpoint({
|
|
134
|
-
method: 'POST',
|
|
135
|
-
path: '/v1/birthdate',
|
|
136
|
-
baseUrl: 'https://accountinformation.roblox.com',
|
|
137
|
-
requestFormat: 'json',
|
|
138
|
-
serializationMethod: {
|
|
139
|
-
body: {},
|
|
140
|
-
},
|
|
141
|
-
parameters: {},
|
|
142
|
-
body: Roblox_AccountInformation_Api_Models_BirthdateRequest,
|
|
143
|
-
response: z.object({}),
|
|
144
|
-
errors: [
|
|
145
|
-
{
|
|
146
|
-
status: 400,
|
|
147
|
-
description: `1: User not found.
|
|
148
|
-
4: The birthdate provided is invalid.
|
|
149
|
-
8: Password is incorrect.`,
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
status: 401,
|
|
153
|
-
description: `0: Authorization has been denied for this request.`,
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
status: 403,
|
|
157
|
-
description: `0: Token Validation Failed
|
|
158
|
-
5: Invalid birthdate change.`,
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
status: 500,
|
|
162
|
-
description: `0: An unknown error occured.
|
|
163
|
-
5: Invalid birthdate change.`,
|
|
164
|
-
},
|
|
165
|
-
],
|
|
166
|
-
});
|
|
167
117
|
/**
|
|
168
118
|
* @api GET https://accountinformation.roblox.com/v1/description
|
|
169
119
|
* @summary Get the user's description
|
|
170
120
|
*/
|
|
171
121
|
export const getDescription = endpoint({
|
|
172
|
-
method:
|
|
173
|
-
path:
|
|
174
|
-
baseUrl:
|
|
175
|
-
requestFormat:
|
|
122
|
+
method: "GET",
|
|
123
|
+
path: "/v1/description",
|
|
124
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
125
|
+
requestFormat: "json",
|
|
176
126
|
response: z.object({ description: z.string() }),
|
|
177
127
|
errors: [
|
|
178
128
|
{
|
|
@@ -191,10 +141,10 @@ export const getDescription = endpoint({
|
|
|
191
141
|
* @param body The Roblox.AccountInformation.Api.Models.DescriptionRequest
|
|
192
142
|
*/
|
|
193
143
|
export const postDescription = endpoint({
|
|
194
|
-
method:
|
|
195
|
-
path:
|
|
196
|
-
baseUrl:
|
|
197
|
-
requestFormat:
|
|
144
|
+
method: "POST",
|
|
145
|
+
path: "/v1/description",
|
|
146
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
147
|
+
requestFormat: "json",
|
|
198
148
|
serializationMethod: {
|
|
199
149
|
body: {},
|
|
200
150
|
},
|
|
@@ -230,10 +180,10 @@ export const postDescription = endpoint({
|
|
|
230
180
|
* @param body Roblox.AccountInformation.Api.Models.VerifyEmailRequest
|
|
231
181
|
*/
|
|
232
182
|
export const postEmailVerify = endpoint({
|
|
233
|
-
method:
|
|
234
|
-
path:
|
|
235
|
-
baseUrl:
|
|
236
|
-
requestFormat:
|
|
183
|
+
method: "POST",
|
|
184
|
+
path: "/v1/email/verify",
|
|
185
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
186
|
+
requestFormat: "json",
|
|
237
187
|
serializationMethod: {
|
|
238
188
|
body: {},
|
|
239
189
|
},
|
|
@@ -252,10 +202,10 @@ export const postEmailVerify = endpoint({
|
|
|
252
202
|
* @summary Get the user's gender
|
|
253
203
|
*/
|
|
254
204
|
export const getGender = endpoint({
|
|
255
|
-
method:
|
|
256
|
-
path:
|
|
257
|
-
baseUrl:
|
|
258
|
-
requestFormat:
|
|
205
|
+
method: "GET",
|
|
206
|
+
path: "/v1/gender",
|
|
207
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
208
|
+
requestFormat: "json",
|
|
259
209
|
response: z.object({ gender: z.number().int() }),
|
|
260
210
|
errors: [
|
|
261
211
|
{
|
|
@@ -274,10 +224,10 @@ export const getGender = endpoint({
|
|
|
274
224
|
* @param body The Roblox.AccountInformation.Api.Models.GenderRequest
|
|
275
225
|
*/
|
|
276
226
|
export const postGender = endpoint({
|
|
277
|
-
method:
|
|
278
|
-
path:
|
|
279
|
-
baseUrl:
|
|
280
|
-
requestFormat:
|
|
227
|
+
method: "POST",
|
|
228
|
+
path: "/v1/gender",
|
|
229
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
230
|
+
requestFormat: "json",
|
|
281
231
|
serializationMethod: {
|
|
282
232
|
body: {},
|
|
283
233
|
},
|
|
@@ -309,10 +259,10 @@ export const postGender = endpoint({
|
|
|
309
259
|
* @summary Get the metadata
|
|
310
260
|
*/
|
|
311
261
|
export const getMetadata = endpoint({
|
|
312
|
-
method:
|
|
313
|
-
path:
|
|
314
|
-
baseUrl:
|
|
315
|
-
requestFormat:
|
|
262
|
+
method: "GET",
|
|
263
|
+
path: "/v1/metadata",
|
|
264
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
265
|
+
requestFormat: "json",
|
|
316
266
|
response: Roblox_AccountInformation_Api_Models_MetadataResponse,
|
|
317
267
|
errors: [],
|
|
318
268
|
});
|
|
@@ -321,10 +271,10 @@ export const getMetadata = endpoint({
|
|
|
321
271
|
* @summary Get Verified Phone Number
|
|
322
272
|
*/
|
|
323
273
|
export const getPhone = endpoint({
|
|
324
|
-
method:
|
|
325
|
-
path:
|
|
326
|
-
baseUrl:
|
|
327
|
-
requestFormat:
|
|
274
|
+
method: "GET",
|
|
275
|
+
path: "/v1/phone",
|
|
276
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
277
|
+
requestFormat: "json",
|
|
328
278
|
response: Roblox_AccountInformation_Api_Models_PhoneResponse,
|
|
329
279
|
errors: [
|
|
330
280
|
{
|
|
@@ -343,16 +293,17 @@ export const getPhone = endpoint({
|
|
|
343
293
|
* @param body Roblox.AccountInformation.Api.Models.PhoneRequest
|
|
344
294
|
*/
|
|
345
295
|
export const postPhone = endpoint({
|
|
346
|
-
method:
|
|
347
|
-
path:
|
|
348
|
-
baseUrl:
|
|
349
|
-
requestFormat:
|
|
296
|
+
method: "POST",
|
|
297
|
+
path: "/v1/phone",
|
|
298
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
299
|
+
requestFormat: "json",
|
|
350
300
|
serializationMethod: {
|
|
351
301
|
body: {},
|
|
352
302
|
},
|
|
353
303
|
parameters: {},
|
|
354
304
|
body: Roblox_AccountInformation_Api_Models_PhoneRequest,
|
|
355
|
-
response:
|
|
305
|
+
response:
|
|
306
|
+
Roblox_Platform_UserPhoneNumberVerification_Models_PendingVerificationResponse,
|
|
356
307
|
errors: [
|
|
357
308
|
{
|
|
358
309
|
status: 400,
|
|
@@ -390,10 +341,10 @@ export const postPhone = endpoint({
|
|
|
390
341
|
* @param body Roblox.AccountInformation.Api.Models.PhoneRequest
|
|
391
342
|
*/
|
|
392
343
|
export const postPhoneDelete = endpoint({
|
|
393
|
-
method:
|
|
394
|
-
path:
|
|
395
|
-
baseUrl:
|
|
396
|
-
requestFormat:
|
|
344
|
+
method: "POST",
|
|
345
|
+
path: "/v1/phone/delete",
|
|
346
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
347
|
+
requestFormat: "json",
|
|
397
348
|
serializationMethod: {
|
|
398
349
|
body: {},
|
|
399
350
|
},
|
|
@@ -430,10 +381,10 @@ export const postPhoneDelete = endpoint({
|
|
|
430
381
|
* @param body Roblox.AccountInformation.Api.Models.PhoneRequest
|
|
431
382
|
*/
|
|
432
383
|
export const postPhoneResend = endpoint({
|
|
433
|
-
method:
|
|
434
|
-
path:
|
|
435
|
-
baseUrl:
|
|
436
|
-
requestFormat:
|
|
384
|
+
method: "POST",
|
|
385
|
+
path: "/v1/phone/resend",
|
|
386
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
387
|
+
requestFormat: "json",
|
|
437
388
|
serializationMethod: {
|
|
438
389
|
body: {},
|
|
439
390
|
},
|
|
@@ -469,10 +420,10 @@ export const postPhoneResend = endpoint({
|
|
|
469
420
|
* @param body Roblox.AccountInformation.Api.Models.VerifyPhoneRequest
|
|
470
421
|
*/
|
|
471
422
|
export const postPhoneVerify = endpoint({
|
|
472
|
-
method:
|
|
473
|
-
path:
|
|
474
|
-
baseUrl:
|
|
475
|
-
requestFormat:
|
|
423
|
+
method: "POST",
|
|
424
|
+
path: "/v1/phone/verify",
|
|
425
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
426
|
+
requestFormat: "json",
|
|
476
427
|
serializationMethod: {
|
|
477
428
|
body: {},
|
|
478
429
|
},
|
|
@@ -516,21 +467,21 @@ export const postPhoneVerify = endpoint({
|
|
|
516
467
|
* @param onlyShortenTwitter Whether all promotion channels links except for Twitter should be returned as full URLs. If false, all promotion channels will be shortened.
|
|
517
468
|
*/
|
|
518
469
|
export const getPromotionChannels = endpoint({
|
|
519
|
-
method:
|
|
520
|
-
path:
|
|
521
|
-
baseUrl:
|
|
522
|
-
requestFormat:
|
|
470
|
+
method: "GET",
|
|
471
|
+
path: "/v1/promotion-channels",
|
|
472
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
473
|
+
requestFormat: "json",
|
|
523
474
|
serializationMethod: {
|
|
524
475
|
alwaysReturnUrls: {
|
|
525
|
-
style:
|
|
476
|
+
style: "form",
|
|
526
477
|
explode: true,
|
|
527
478
|
},
|
|
528
479
|
filterLink: {
|
|
529
|
-
style:
|
|
480
|
+
style: "form",
|
|
530
481
|
explode: true,
|
|
531
482
|
},
|
|
532
483
|
onlyShortenTwitter: {
|
|
533
|
-
style:
|
|
484
|
+
style: "form",
|
|
534
485
|
explode: true,
|
|
535
486
|
},
|
|
536
487
|
},
|
|
@@ -557,10 +508,10 @@ export const getPromotionChannels = endpoint({
|
|
|
557
508
|
* @param body The Roblox.AccountInformation.Api.Models.PromotionChannelsRequest
|
|
558
509
|
*/
|
|
559
510
|
export const postPromotionChannels = endpoint({
|
|
560
|
-
method:
|
|
561
|
-
path:
|
|
562
|
-
baseUrl:
|
|
563
|
-
requestFormat:
|
|
511
|
+
method: "POST",
|
|
512
|
+
path: "/v1/promotion-channels",
|
|
513
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
514
|
+
requestFormat: "json",
|
|
564
515
|
serializationMethod: {
|
|
565
516
|
body: {},
|
|
566
517
|
},
|
|
@@ -574,8 +525,7 @@ export const postPromotionChannels = endpoint({
|
|
|
574
525
|
11: The Facebook profile url is invalid.
|
|
575
526
|
12: The Twitter handle is invalid.
|
|
576
527
|
13: The YouTube url is invalid.
|
|
577
|
-
14: The Twitch profile url is invalid
|
|
578
|
-
15: The Guilded profile url is invalid.`,
|
|
528
|
+
14: The Twitch profile url is invalid.`,
|
|
579
529
|
},
|
|
580
530
|
{
|
|
581
531
|
status: 401,
|
|
@@ -593,10 +543,10 @@ export const postPromotionChannels = endpoint({
|
|
|
593
543
|
* @summary Gets a star code affiliate supporter for the authenticated user
|
|
594
544
|
*/
|
|
595
545
|
export const getStarCodeAffiliates = endpoint({
|
|
596
|
-
method:
|
|
597
|
-
path:
|
|
598
|
-
baseUrl:
|
|
599
|
-
requestFormat:
|
|
546
|
+
method: "GET",
|
|
547
|
+
path: "/v1/star-code-affiliates",
|
|
548
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
549
|
+
requestFormat: "json",
|
|
600
550
|
response: Roblox_AccountInformation_Api_Models_StarCodeAffiliateResponse,
|
|
601
551
|
errors: [
|
|
602
552
|
{
|
|
@@ -615,10 +565,10 @@ export const getStarCodeAffiliates = endpoint({
|
|
|
615
565
|
* @param body Roblox.AccountInformation.Api.Models.StarCodeAffiliateRequest
|
|
616
566
|
*/
|
|
617
567
|
export const postStarCodeAffiliates = endpoint({
|
|
618
|
-
method:
|
|
619
|
-
path:
|
|
620
|
-
baseUrl:
|
|
621
|
-
requestFormat:
|
|
568
|
+
method: "POST",
|
|
569
|
+
path: "/v1/star-code-affiliates",
|
|
570
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
571
|
+
requestFormat: "json",
|
|
622
572
|
serializationMethod: {
|
|
623
573
|
body: {},
|
|
624
574
|
},
|
|
@@ -649,10 +599,10 @@ export const postStarCodeAffiliates = endpoint({
|
|
|
649
599
|
* @summary Removes the star code affiliate supporter for the authenticated user
|
|
650
600
|
*/
|
|
651
601
|
export const deleteStarCodeAffiliates = endpoint({
|
|
652
|
-
method:
|
|
653
|
-
path:
|
|
654
|
-
baseUrl:
|
|
655
|
-
requestFormat:
|
|
602
|
+
method: "DELETE",
|
|
603
|
+
path: "/v1/star-code-affiliates",
|
|
604
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
605
|
+
requestFormat: "json",
|
|
656
606
|
response: z.object({}),
|
|
657
607
|
errors: [
|
|
658
608
|
{
|
|
@@ -677,20 +627,20 @@ export const deleteStarCodeAffiliates = endpoint({
|
|
|
677
627
|
* @param filterLink Whether all promotion channel links should be filtered.
|
|
678
628
|
*/
|
|
679
629
|
export const getUsersUseridPromotionChannels = endpoint({
|
|
680
|
-
method:
|
|
681
|
-
path:
|
|
682
|
-
baseUrl:
|
|
683
|
-
requestFormat:
|
|
630
|
+
method: "GET",
|
|
631
|
+
path: "/v1/users/:userId/promotion-channels",
|
|
632
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
633
|
+
requestFormat: "json",
|
|
684
634
|
serializationMethod: {
|
|
685
635
|
userId: {
|
|
686
|
-
style:
|
|
636
|
+
style: "simple",
|
|
687
637
|
},
|
|
688
638
|
alwaysReturnUrls: {
|
|
689
|
-
style:
|
|
639
|
+
style: "form",
|
|
690
640
|
explode: true,
|
|
691
641
|
},
|
|
692
642
|
filterLink: {
|
|
693
|
-
style:
|
|
643
|
+
style: "form",
|
|
694
644
|
explode: true,
|
|
695
645
|
},
|
|
696
646
|
},
|
|
@@ -699,7 +649,8 @@ export const getUsersUseridPromotionChannels = endpoint({
|
|
|
699
649
|
alwaysReturnUrls: z.boolean().optional(),
|
|
700
650
|
filterLink: z.boolean().optional(),
|
|
701
651
|
},
|
|
702
|
-
response:
|
|
652
|
+
response:
|
|
653
|
+
Roblox_AccountInformation_Api_Models_PromotionChannelsByUserIdResponse,
|
|
703
654
|
errors: [
|
|
704
655
|
{
|
|
705
656
|
status: 400,
|
|
@@ -713,13 +664,13 @@ export const getUsersUseridPromotionChannels = endpoint({
|
|
|
713
664
|
* @param userId
|
|
714
665
|
*/
|
|
715
666
|
export const getUsersUseridRobloxBadges = endpoint({
|
|
716
|
-
method:
|
|
717
|
-
path:
|
|
718
|
-
baseUrl:
|
|
719
|
-
requestFormat:
|
|
667
|
+
method: "GET",
|
|
668
|
+
path: "/v1/users/:userId/roblox-badges",
|
|
669
|
+
baseUrl: "https://accountinformation.roblox.com",
|
|
670
|
+
requestFormat: "json",
|
|
720
671
|
serializationMethod: {
|
|
721
672
|
userId: {
|
|
722
|
-
style:
|
|
673
|
+
style: "simple",
|
|
723
674
|
},
|
|
724
675
|
},
|
|
725
676
|
parameters: {
|
|
@@ -728,21 +679,3 @@ export const getUsersUseridRobloxBadges = endpoint({
|
|
|
728
679
|
response: z.array(Roblox_AccountInformation_Api_RobloxBadgeResponse),
|
|
729
680
|
errors: [],
|
|
730
681
|
});
|
|
731
|
-
/**
|
|
732
|
-
* @api GET https://accountinformation.roblox.com/v1/xbox-live/consecutive-login-days
|
|
733
|
-
* @summary Returns number of consecutive login days for xbox users
|
|
734
|
-
*/
|
|
735
|
-
export const getXboxLiveConsecutiveLoginDays = endpoint({
|
|
736
|
-
method: 'GET',
|
|
737
|
-
path: '/v1/xbox-live/consecutive-login-days',
|
|
738
|
-
baseUrl: 'https://accountinformation.roblox.com',
|
|
739
|
-
requestFormat: 'json',
|
|
740
|
-
response: z.object({ count: z.number().int() }),
|
|
741
|
-
errors: [
|
|
742
|
-
{
|
|
743
|
-
status: 401,
|
|
744
|
-
description: `0: Authorization has been denied for this request.
|
|
745
|
-
7: The account is not connected to an Xbox Live account`,
|
|
746
|
-
},
|
|
747
|
-
],
|
|
748
|
-
});
|
|
@@ -57,14 +57,12 @@ const Roblox_AccountInformation_Api_Models_PromotionChannelsResponse = zod_1.z.o
|
|
|
57
57
|
twitter: zod_1.z.string(),
|
|
58
58
|
youtube: zod_1.z.string(),
|
|
59
59
|
twitch: zod_1.z.string(),
|
|
60
|
-
guilded: zod_1.z.string(),
|
|
61
60
|
});
|
|
62
61
|
const Roblox_AccountInformation_Api_Models_PromotionChannelsRequest = zod_1.z.object({
|
|
63
62
|
facebook: zod_1.z.string(),
|
|
64
63
|
twitter: zod_1.z.string(),
|
|
65
64
|
youtube: zod_1.z.string(),
|
|
66
65
|
twitch: zod_1.z.string(),
|
|
67
|
-
guilded: zod_1.z.string(),
|
|
68
66
|
promotionChannelsVisibilityPrivacy: zod_1.z.string(),
|
|
69
67
|
});
|
|
70
68
|
const Roblox_AccountInformation_Api_Models_StarCodeAffiliateResponse = zod_1.z.object({
|
|
@@ -80,7 +78,6 @@ const Roblox_AccountInformation_Api_Models_PromotionChannelsByUserIdResponse = z
|
|
|
80
78
|
twitter: zod_1.z.string(),
|
|
81
79
|
youtube: zod_1.z.string(),
|
|
82
80
|
twitch: zod_1.z.string(),
|
|
83
|
-
guilded: zod_1.z.string(),
|
|
84
81
|
});
|
|
85
82
|
const Roblox_AccountInformation_Api_RobloxBadgeResponse = zod_1.z.object({
|
|
86
83
|
id: zod_1.z.number().int(),
|
|
@@ -529,8 +526,7 @@ exports.postPromotionChannels = (0, __1.endpoint)({
|
|
|
529
526
|
11: The Facebook profile url is invalid.
|
|
530
527
|
12: The Twitter handle is invalid.
|
|
531
528
|
13: The YouTube url is invalid.
|
|
532
|
-
14: The Twitch profile url is invalid
|
|
533
|
-
15: The Guilded profile url is invalid.`,
|
|
529
|
+
14: The Twitch profile url is invalid.`,
|
|
534
530
|
},
|
|
535
531
|
{
|
|
536
532
|
status: 401,
|