rozod 6.7.1 → 6.8.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/LICENSE +1 -1
- package/README.md +75 -451
- package/lib/endpoints/assetdeliveryv1.d.ts +38 -0
- package/lib/endpoints/assetdeliveryv1.js +38 -0
- package/lib/endpoints/assetdeliveryv2.d.ts +26 -0
- package/lib/endpoints/assetdeliveryv2.js +26 -0
- package/lib/endpoints/authv1.d.ts +7 -2
- package/lib/endpoints/authv1.js +3 -1
- package/lib/endpoints/authv2.d.ts +1 -1
- package/lib/endpoints/authv2.js +1 -1
- package/lib/endpoints/badgesv1.d.ts +4 -0
- package/lib/endpoints/badgesv1.js +4 -0
- package/lib/endpoints/catalogv1.d.ts +2 -1
- package/lib/endpoints/catalogv1.js +2 -1
- package/lib/endpoints/catalogv2.d.ts +53 -45
- package/lib/endpoints/catalogv2.js +21 -17
- package/lib/endpoints/chatv2.d.ts +778 -778
- package/lib/endpoints/developv1.d.ts +3 -0
- package/lib/endpoints/developv1.js +3 -0
- package/lib/endpoints/developv2.d.ts +3 -1
- package/lib/endpoints/developv2.js +3 -1
- package/lib/endpoints/friendsv1.d.ts +222 -314
- package/lib/endpoints/friendsv1.js +213 -313
- package/lib/endpoints/gamejoinv1.d.ts +458 -458
- package/lib/endpoints/gamesv1.d.ts +2 -0
- package/lib/endpoints/gamesv1.js +2 -0
- package/lib/endpoints/gamesv2.d.ts +11 -0
- package/lib/endpoints/gamesv2.js +9 -0
- package/lib/endpoints/groupsv1.d.ts +42 -1
- package/lib/endpoints/groupsv1.js +48 -4
- package/lib/endpoints/groupsv2.d.ts +1 -0
- package/lib/endpoints/groupsv2.js +1 -0
- package/lib/endpoints/inventoryv1.d.ts +3 -1
- package/lib/endpoints/inventoryv1.js +3 -1
- package/lib/endpoints/inventoryv2.d.ts +2 -0
- package/lib/endpoints/inventoryv2.js +2 -0
- package/lib/endpoints/metricsv1.d.ts +88 -88
- package/lib/endpoints/thumbnailsv1.d.ts +44 -87
- package/lib/endpoints/thumbnailsv1.js +25 -0
- package/lib/index.d.ts +96 -3
- package/lib/index.js +114 -1
- package/lib/opencloud/v1/asset-permissions.d.ts +1 -1
- package/lib/opencloud/v1/assets.d.ts +9 -9
- package/lib/opencloud/v1/datastores-ordered.d.ts +6 -6
- package/lib/opencloud/v1/datastores.d.ts +8 -8
- package/lib/opencloud/v1/developer-products.d.ts +4 -4
- package/lib/opencloud/v1/game-passes.d.ts +4 -4
- package/lib/opencloud/v1/messaging.d.ts +1 -1
- package/lib/opencloud/v1/open-eval.d.ts +2 -2
- package/lib/opencloud/v1/secrets-store.d.ts +5 -5
- package/lib/opencloud/v1/toolbox.d.ts +2 -2
- package/lib/opencloud/v1/universes.d.ts +1 -1
- package/lib/opencloud/v2/cloud.d.ts +172 -84
- package/lib/opencloud/v2/cloud.js +25 -9
- package/package.json +1 -1
|
@@ -151,6 +151,8 @@ const Roblox_Api_Develop_Models_UniverseSettingsResponse = z.object({
|
|
|
151
151
|
z.literal(4),
|
|
152
152
|
])
|
|
153
153
|
),
|
|
154
|
+
demoModeEnabled: z.boolean(),
|
|
155
|
+
demoModeLastChangedTime: z.string().datetime({ offset: true }),
|
|
154
156
|
});
|
|
155
157
|
const Roblox_Api_Develop_Models_UniverseSettingsRequest = z.object({
|
|
156
158
|
name: z.string(),
|
|
@@ -200,6 +202,7 @@ const Roblox_Api_Develop_Models_UniverseSettingsRequest = z.object({
|
|
|
200
202
|
z.literal(2),
|
|
201
203
|
z.literal(3),
|
|
202
204
|
]),
|
|
205
|
+
demoModeEnabled: z.boolean(),
|
|
203
206
|
});
|
|
204
207
|
const Roblox_Api_Develop_Models_PrivateServerDetailsResponse = z.object({
|
|
205
208
|
isEnabled: z.boolean(),
|
|
@@ -115,6 +115,8 @@ const Roblox_Api_Develop_Models_UniverseSettingsResponse = zod_1.z.object({
|
|
|
115
115
|
fiatBasePriceId: zod_1.z.string(),
|
|
116
116
|
fiatModerationStatus: zod_1.z.enum(['Invalid', 'NotModerated', 'Pending', 'Approved', 'Rejected']),
|
|
117
117
|
audiences: zod_1.z.array(zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(3), zod_1.z.literal(4)])),
|
|
118
|
+
demoModeEnabled: zod_1.z.boolean(),
|
|
119
|
+
demoModeLastChangedTime: zod_1.z.string().datetime({ offset: true }),
|
|
118
120
|
});
|
|
119
121
|
const Roblox_Api_Develop_Models_UniverseSettingsRequest = zod_1.z.object({
|
|
120
122
|
name: zod_1.z.string(),
|
|
@@ -150,6 +152,7 @@ const Roblox_Api_Develop_Models_UniverseSettingsRequest = zod_1.z.object({
|
|
|
150
152
|
isRewardedOnDemandAdsAllowed: zod_1.z.boolean(),
|
|
151
153
|
fiatBasePriceId: zod_1.z.string(),
|
|
152
154
|
fiatProductChangeType: zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(3)]),
|
|
155
|
+
demoModeEnabled: zod_1.z.boolean(),
|
|
153
156
|
});
|
|
154
157
|
const Roblox_Api_Develop_Models_PrivateServerDetailsResponse = zod_1.z.object({
|
|
155
158
|
isEnabled: zod_1.z.boolean(),
|
|
@@ -148,6 +148,7 @@ const Roblox_Api_Develop_Models_UniverseSettingsRequestV2 = z.object({
|
|
|
148
148
|
z.literal(4),
|
|
149
149
|
])
|
|
150
150
|
),
|
|
151
|
+
demoModeEnabled: z.boolean(),
|
|
151
152
|
});
|
|
152
153
|
const Roblox_Api_Develop_Models_UniverseModerationPolicyStatus = z.object({
|
|
153
154
|
region: z.enum(["Unknown", "China"]),
|
|
@@ -217,7 +218,6 @@ const Roblox_Api_Develop_Models_UniverseSettingsResponseV2 = z.object({
|
|
|
217
218
|
"Approved",
|
|
218
219
|
"Rejected",
|
|
219
220
|
]),
|
|
220
|
-
eligibleForTextChatMigration: z.boolean(),
|
|
221
221
|
audiences: z.array(
|
|
222
222
|
z.union([
|
|
223
223
|
z.literal(0),
|
|
@@ -227,6 +227,8 @@ const Roblox_Api_Develop_Models_UniverseSettingsResponseV2 = z.object({
|
|
|
227
227
|
z.literal(4),
|
|
228
228
|
])
|
|
229
229
|
),
|
|
230
|
+
demoModeEnabled: z.boolean(),
|
|
231
|
+
demoModeLastChangedTime: z.string().datetime({ offset: true }),
|
|
230
232
|
});
|
|
231
233
|
const Roblox_Web_WebAPI_ApiEmptyResponseModel = z.object({});
|
|
232
234
|
|
|
@@ -120,6 +120,7 @@ const Roblox_Api_Develop_Models_UniverseSettingsRequestV2 = zod_1.z.object({
|
|
|
120
120
|
fiatBasePriceId: zod_1.z.string(),
|
|
121
121
|
fiatProductChangeType: zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(3)]),
|
|
122
122
|
audiences: zod_1.z.array(zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(3), zod_1.z.literal(4)])),
|
|
123
|
+
demoModeEnabled: zod_1.z.boolean(),
|
|
123
124
|
});
|
|
124
125
|
const Roblox_Api_Develop_Models_UniverseModerationPolicyStatus = zod_1.z.object({
|
|
125
126
|
region: zod_1.z.enum(['Unknown', 'China']),
|
|
@@ -169,8 +170,9 @@ const Roblox_Api_Develop_Models_UniverseSettingsResponseV2 = zod_1.z.object({
|
|
|
169
170
|
isForSaleInFiat: zod_1.z.boolean(),
|
|
170
171
|
fiatBasePriceId: zod_1.z.string(),
|
|
171
172
|
fiatModerationStatus: zod_1.z.enum(['Invalid', 'NotModerated', 'Pending', 'Approved', 'Rejected']),
|
|
172
|
-
eligibleForTextChatMigration: zod_1.z.boolean(),
|
|
173
173
|
audiences: zod_1.z.array(zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(3), zod_1.z.literal(4)])),
|
|
174
|
+
demoModeEnabled: zod_1.z.boolean(),
|
|
175
|
+
demoModeLastChangedTime: zod_1.z.string().datetime({ offset: true }),
|
|
174
176
|
});
|
|
175
177
|
const Roblox_Web_WebAPI_ApiEmptyResponseModel = zod_1.z.object({});
|
|
176
178
|
/**
|
|
@@ -30,6 +30,7 @@ const Roblox_Friends_Api_FriendRequest = z.object({
|
|
|
30
30
|
"PhoneContactImporter",
|
|
31
31
|
"FriendRecommendations",
|
|
32
32
|
"UserCommunities",
|
|
33
|
+
"TrustedFriend",
|
|
33
34
|
]),
|
|
34
35
|
contactName: z.string(),
|
|
35
36
|
senderNickname: z.string(),
|
|
@@ -127,10 +128,6 @@ const Roblox_Friends_Api_FriendStatusResponse = z.object({
|
|
|
127
128
|
});
|
|
128
129
|
const Roblox_Web_WebAPI_Models_ApiArrayResponse_Roblox_Friends_Api_FriendStatusResponse_ =
|
|
129
130
|
z.object({ data: z.array(Roblox_Friends_Api_FriendStatusResponse) });
|
|
130
|
-
const Roblox_Friends_Api_CaptchaStatusResponseModel = z.object({
|
|
131
|
-
success: z.boolean(),
|
|
132
|
-
isCaptchaRequired: z.boolean(),
|
|
133
|
-
});
|
|
134
131
|
const Roblox_Friends_Api_Models_Response_RefreshQrSessionResponse = z.object({
|
|
135
132
|
Success: z.boolean(),
|
|
136
133
|
});
|
|
@@ -154,82 +151,18 @@ const Roblox_Friends_Api_Models_Response_FollowingExistsResponseModel =
|
|
|
154
151
|
Roblox_Friends_Api_Models_Response_FollowingExistsResponse
|
|
155
152
|
),
|
|
156
153
|
});
|
|
157
|
-
const Roblox_Friends_Api_Models_Response_DeclineAllFriendRequestsResponse =
|
|
158
|
-
z.object({ backgrounded: z.boolean() });
|
|
159
|
-
const Roblox_Web_WebAPI_ApiEmptyResponseModel = z.object({});
|
|
160
|
-
const Roblox_Friends_Api_Models_Request_FriendingTokenRequestModel = z.object({
|
|
161
|
-
friendingToken: z.string(),
|
|
162
|
-
});
|
|
163
154
|
const Roblox_Web_Captcha_Models_Request_CaptchaTokenRequest = z.object({
|
|
164
155
|
captchaId: z.string(),
|
|
165
156
|
captchaToken: z.string(),
|
|
166
157
|
captchaProvider: z.string(),
|
|
167
158
|
challengeId: z.string(),
|
|
168
159
|
});
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
"PlayerSearch",
|
|
173
|
-
"QrCode",
|
|
174
|
-
"InGame",
|
|
175
|
-
"UserProfile",
|
|
176
|
-
"QqContactImporter",
|
|
177
|
-
"WeChatContactImporter",
|
|
178
|
-
"ProfileShare",
|
|
179
|
-
"PhoneContactImporter",
|
|
180
|
-
"FriendRecommendations",
|
|
181
|
-
"UserCommunities",
|
|
182
|
-
]),
|
|
183
|
-
senderNickname: z.string(),
|
|
160
|
+
const Roblox_Friends_Api_CaptchaStatusResponseModel = z.object({
|
|
161
|
+
success: z.boolean(),
|
|
162
|
+
isCaptchaRequired: z.boolean(),
|
|
184
163
|
});
|
|
185
|
-
const
|
|
186
|
-
z.object({ status: z.boolean() });
|
|
164
|
+
const Roblox_Web_WebAPI_ApiEmptyResponseModel = z.object({});
|
|
187
165
|
|
|
188
|
-
/**
|
|
189
|
-
* @api POST https://friends.roblox.com/v1/contacts/:targetContactId/request-friendship
|
|
190
|
-
* @summary Send a contact friend request to target user
|
|
191
|
-
* @param targetContactId The target contact Id for friend request
|
|
192
|
-
*/
|
|
193
|
-
export const postContactsTargetcontactidRequestFriendship = endpoint({
|
|
194
|
-
method: "POST",
|
|
195
|
-
path: "/v1/contacts/:targetContactId/request-friendship",
|
|
196
|
-
baseUrl: "https://friends.roblox.com",
|
|
197
|
-
requestFormat: "json",
|
|
198
|
-
serializationMethod: {
|
|
199
|
-
targetContactId: {
|
|
200
|
-
style: "simple",
|
|
201
|
-
},
|
|
202
|
-
},
|
|
203
|
-
parameters: {
|
|
204
|
-
targetContactId: z.string(),
|
|
205
|
-
},
|
|
206
|
-
response: Roblox_Friends_Api_CaptchaStatusResponseModel,
|
|
207
|
-
errors: [
|
|
208
|
-
{
|
|
209
|
-
status: 400,
|
|
210
|
-
description: `1: The target user is invalid or does not exist.
|
|
211
|
-
5: The target user is already a friend.
|
|
212
|
-
6: Invalid parameters.
|
|
213
|
-
7: The user cannot be friends with itself.
|
|
214
|
-
31: User with max friends sent friend request.`,
|
|
215
|
-
},
|
|
216
|
-
{
|
|
217
|
-
status: 401,
|
|
218
|
-
description: `0: Authorization has been denied for this request.`,
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
status: 403,
|
|
222
|
-
description: `0: Token Validation Failed
|
|
223
|
-
2: The user is banned from performing operation.
|
|
224
|
-
3: The user is blocked from performing this action.
|
|
225
|
-
14: The user has not passed the captcha.`,
|
|
226
|
-
},
|
|
227
|
-
{
|
|
228
|
-
status: 429,
|
|
229
|
-
description: `9: The flood limit has been exceeded.`,
|
|
230
|
-
},
|
|
231
|
-
],
|
|
232
|
-
});
|
|
233
166
|
/**
|
|
234
167
|
* @api GET https://friends.roblox.com/v1/metadata
|
|
235
168
|
* @param targetUserId
|
|
@@ -376,26 +309,6 @@ export const getMyFriendsRequests = endpoint({
|
|
|
376
309
|
},
|
|
377
310
|
],
|
|
378
311
|
});
|
|
379
|
-
/**
|
|
380
|
-
* @api DELETE https://friends.roblox.com/v1/my/new-friend-requests
|
|
381
|
-
*/
|
|
382
|
-
export const deleteMyNewFriendRequests = endpoint({
|
|
383
|
-
method: "DELETE",
|
|
384
|
-
path: "/v1/my/new-friend-requests",
|
|
385
|
-
baseUrl: "https://friends.roblox.com",
|
|
386
|
-
requestFormat: "json",
|
|
387
|
-
response: z.object({ status: z.boolean() }),
|
|
388
|
-
errors: [
|
|
389
|
-
{
|
|
390
|
-
status: 401,
|
|
391
|
-
description: `0: Authorization has been denied for this request.`,
|
|
392
|
-
},
|
|
393
|
-
{
|
|
394
|
-
status: 403,
|
|
395
|
-
description: `0: Token Validation Failed`,
|
|
396
|
-
},
|
|
397
|
-
],
|
|
398
|
-
});
|
|
399
312
|
/**
|
|
400
313
|
* @api GET https://friends.roblox.com/v1/my/new-friend-requests/count
|
|
401
314
|
*/
|
|
@@ -514,143 +427,6 @@ export const getUserFriendRequestsCount = endpoint({
|
|
|
514
427
|
},
|
|
515
428
|
],
|
|
516
429
|
});
|
|
517
|
-
/**
|
|
518
|
-
* @api POST https://friends.roblox.com/v1/user/friend-requests/decline-all
|
|
519
|
-
* @summary Decline all pending friend requests for the authenticated user.
|
|
520
|
-
*/
|
|
521
|
-
export const postUserFriendRequestsDeclineAll = endpoint({
|
|
522
|
-
method: "POST",
|
|
523
|
-
path: "/v1/user/friend-requests/decline-all",
|
|
524
|
-
baseUrl: "https://friends.roblox.com",
|
|
525
|
-
requestFormat: "json",
|
|
526
|
-
response: z.object({ backgrounded: z.boolean() }),
|
|
527
|
-
errors: [
|
|
528
|
-
{
|
|
529
|
-
status: 401,
|
|
530
|
-
description: `0: Authorization has been denied for this request.`,
|
|
531
|
-
},
|
|
532
|
-
{
|
|
533
|
-
status: 403,
|
|
534
|
-
description: `0: Token Validation Failed`,
|
|
535
|
-
},
|
|
536
|
-
],
|
|
537
|
-
});
|
|
538
|
-
/**
|
|
539
|
-
* @api POST https://friends.roblox.com/v1/users/:requesterUserId/accept-friend-request
|
|
540
|
-
* @summary Accept a friend request.
|
|
541
|
-
* @param requesterUserId The user Id of the requester
|
|
542
|
-
*/
|
|
543
|
-
export const postUsersRequesteruseridAcceptFriendRequest = endpoint({
|
|
544
|
-
method: "POST",
|
|
545
|
-
path: "/v1/users/:requesterUserId/accept-friend-request",
|
|
546
|
-
baseUrl: "https://friends.roblox.com",
|
|
547
|
-
requestFormat: "json",
|
|
548
|
-
serializationMethod: {
|
|
549
|
-
requesterUserId: {
|
|
550
|
-
style: "simple",
|
|
551
|
-
},
|
|
552
|
-
},
|
|
553
|
-
parameters: {
|
|
554
|
-
requesterUserId: z.number().int(),
|
|
555
|
-
},
|
|
556
|
-
response: z.object({}),
|
|
557
|
-
errors: [
|
|
558
|
-
{
|
|
559
|
-
status: 400,
|
|
560
|
-
description: `1: The target user is invalid or does not exist.
|
|
561
|
-
10: The friend request does not exist.
|
|
562
|
-
11: The current users friends limit has been exceeded.
|
|
563
|
-
12: The target users friends limit has been exceeded.`,
|
|
564
|
-
},
|
|
565
|
-
{
|
|
566
|
-
status: 401,
|
|
567
|
-
description: `0: Authorization has been denied for this request.`,
|
|
568
|
-
},
|
|
569
|
-
{
|
|
570
|
-
status: 403,
|
|
571
|
-
description: `0: Token Validation Failed
|
|
572
|
-
3: The user is blocked from performing this action.`,
|
|
573
|
-
},
|
|
574
|
-
],
|
|
575
|
-
});
|
|
576
|
-
/**
|
|
577
|
-
* @api POST https://friends.roblox.com/v1/users/:requesterUserId/decline-friend-request
|
|
578
|
-
* @summary Decline a friend request.
|
|
579
|
-
* @param requesterUserId The user Id of the requester
|
|
580
|
-
*/
|
|
581
|
-
export const postUsersRequesteruseridDeclineFriendRequest = endpoint({
|
|
582
|
-
method: "POST",
|
|
583
|
-
path: "/v1/users/:requesterUserId/decline-friend-request",
|
|
584
|
-
baseUrl: "https://friends.roblox.com",
|
|
585
|
-
requestFormat: "json",
|
|
586
|
-
serializationMethod: {
|
|
587
|
-
requesterUserId: {
|
|
588
|
-
style: "simple",
|
|
589
|
-
},
|
|
590
|
-
},
|
|
591
|
-
parameters: {
|
|
592
|
-
requesterUserId: z.number().int(),
|
|
593
|
-
},
|
|
594
|
-
response: z.object({}),
|
|
595
|
-
errors: [
|
|
596
|
-
{
|
|
597
|
-
status: 400,
|
|
598
|
-
description: `1: The target user is invalid or does not exist.
|
|
599
|
-
10: The friend request does not exist.`,
|
|
600
|
-
},
|
|
601
|
-
{
|
|
602
|
-
status: 401,
|
|
603
|
-
description: `0: Authorization has been denied for this request.`,
|
|
604
|
-
},
|
|
605
|
-
{
|
|
606
|
-
status: 403,
|
|
607
|
-
description: `0: Token Validation Failed`,
|
|
608
|
-
},
|
|
609
|
-
],
|
|
610
|
-
});
|
|
611
|
-
/**
|
|
612
|
-
* @api POST https://friends.roblox.com/v1/users/:senderUserId/accept-friend-request-with-token
|
|
613
|
-
* @summary Accept a friend request with an Off Network Friending token.
|
|
614
|
-
* @param body
|
|
615
|
-
* @param senderUserId The user id of the sender of the off network friend request
|
|
616
|
-
*/
|
|
617
|
-
export const postUsersSenderuseridAcceptFriendRequestWithToken = endpoint({
|
|
618
|
-
method: "POST",
|
|
619
|
-
path: "/v1/users/:senderUserId/accept-friend-request-with-token",
|
|
620
|
-
baseUrl: "https://friends.roblox.com",
|
|
621
|
-
requestFormat: "json",
|
|
622
|
-
serializationMethod: {
|
|
623
|
-
body: {},
|
|
624
|
-
senderUserId: {
|
|
625
|
-
style: "simple",
|
|
626
|
-
},
|
|
627
|
-
},
|
|
628
|
-
parameters: {
|
|
629
|
-
senderUserId: z.number().int(),
|
|
630
|
-
},
|
|
631
|
-
body: z.object({ friendingToken: z.string() }),
|
|
632
|
-
response: z.object({}),
|
|
633
|
-
errors: [
|
|
634
|
-
{
|
|
635
|
-
status: 400,
|
|
636
|
-
description: `1: The target user is invalid or does not exist.
|
|
637
|
-
3: The user is blocked from performing this action.
|
|
638
|
-
5: The target user is already a friend.
|
|
639
|
-
6: Invalid parameters.
|
|
640
|
-
7: The user cannot be friends with itself.
|
|
641
|
-
11: The current users friends limit has been exceeded.
|
|
642
|
-
12: The target users friends limit has been exceeded.`,
|
|
643
|
-
},
|
|
644
|
-
{
|
|
645
|
-
status: 401,
|
|
646
|
-
description: `0: Authorization has been denied for this request.`,
|
|
647
|
-
},
|
|
648
|
-
{
|
|
649
|
-
status: 403,
|
|
650
|
-
description: `0: Token Validation Failed`,
|
|
651
|
-
},
|
|
652
|
-
],
|
|
653
|
-
});
|
|
654
430
|
/**
|
|
655
431
|
* @api POST https://friends.roblox.com/v1/users/:targetUserId/follow
|
|
656
432
|
* @summary Creates the following between a user and user with targetUserId
|
|
@@ -877,57 +653,6 @@ export const getUsersTargetuseridFollowingsCount = endpoint({
|
|
|
877
653
|
},
|
|
878
654
|
],
|
|
879
655
|
});
|
|
880
|
-
/**
|
|
881
|
-
* @api POST https://friends.roblox.com/v1/users/:targetUserId/request-friendship
|
|
882
|
-
* @summary Send a friend request to target user
|
|
883
|
-
* @param body The source which the friend request originated from
|
|
884
|
-
* @param targetUserId The target user Id for friend request
|
|
885
|
-
*/
|
|
886
|
-
export const postUsersTargetuseridRequestFriendship = endpoint({
|
|
887
|
-
method: "POST",
|
|
888
|
-
path: "/v1/users/:targetUserId/request-friendship",
|
|
889
|
-
baseUrl: "https://friends.roblox.com",
|
|
890
|
-
requestFormat: "json",
|
|
891
|
-
serializationMethod: {
|
|
892
|
-
body: {},
|
|
893
|
-
targetUserId: {
|
|
894
|
-
style: "simple",
|
|
895
|
-
},
|
|
896
|
-
},
|
|
897
|
-
parameters: {
|
|
898
|
-
targetUserId: z.number().int(),
|
|
899
|
-
},
|
|
900
|
-
body: Roblox_Friends_Api_FriendshipRequestModel,
|
|
901
|
-
response: Roblox_Friends_Api_CaptchaStatusResponseModel,
|
|
902
|
-
errors: [
|
|
903
|
-
{
|
|
904
|
-
status: 400,
|
|
905
|
-
description: `1: The target user is invalid or does not exist.
|
|
906
|
-
5: The target user is already a friend.
|
|
907
|
-
6: Invalid parameters.
|
|
908
|
-
7: The user cannot be friends with itself.
|
|
909
|
-
10: The friend request does not exist.
|
|
910
|
-
13: The users are not in the same game.
|
|
911
|
-
31: User with max friends sent friend request.
|
|
912
|
-
35: Invalid nickname.`,
|
|
913
|
-
},
|
|
914
|
-
{
|
|
915
|
-
status: 401,
|
|
916
|
-
description: `0: Authorization has been denied for this request.`,
|
|
917
|
-
},
|
|
918
|
-
{
|
|
919
|
-
status: 403,
|
|
920
|
-
description: `0: Token Validation Failed
|
|
921
|
-
2: The user is banned from performing operation.
|
|
922
|
-
3: The user is blocked from performing this action.
|
|
923
|
-
14: The user has not passed the captcha.`,
|
|
924
|
-
},
|
|
925
|
-
{
|
|
926
|
-
status: 429,
|
|
927
|
-
description: `9: The flood limit has been exceeded.`,
|
|
928
|
-
},
|
|
929
|
-
],
|
|
930
|
-
});
|
|
931
656
|
/**
|
|
932
657
|
* @api POST https://friends.roblox.com/v1/users/:targetUserId/unfollow
|
|
933
658
|
* @summary Deletes the following between a user and user with targetUserId
|
|
@@ -971,40 +696,6 @@ export const postUsersTargetuseridUnfollow = endpoint({
|
|
|
971
696
|
},
|
|
972
697
|
],
|
|
973
698
|
});
|
|
974
|
-
/**
|
|
975
|
-
* @api POST https://friends.roblox.com/v1/users/:targetUserId/unfriend
|
|
976
|
-
* @summary Unfriend a user
|
|
977
|
-
* @param targetUserId The target user id to unfriend
|
|
978
|
-
*/
|
|
979
|
-
export const postUsersTargetuseridUnfriend = endpoint({
|
|
980
|
-
method: "POST",
|
|
981
|
-
path: "/v1/users/:targetUserId/unfriend",
|
|
982
|
-
baseUrl: "https://friends.roblox.com",
|
|
983
|
-
requestFormat: "json",
|
|
984
|
-
serializationMethod: {
|
|
985
|
-
targetUserId: {
|
|
986
|
-
style: "simple",
|
|
987
|
-
},
|
|
988
|
-
},
|
|
989
|
-
parameters: {
|
|
990
|
-
targetUserId: z.number().int(),
|
|
991
|
-
},
|
|
992
|
-
response: z.object({}),
|
|
993
|
-
errors: [
|
|
994
|
-
{
|
|
995
|
-
status: 400,
|
|
996
|
-
description: `1: The target user is invalid or does not exist.`,
|
|
997
|
-
},
|
|
998
|
-
{
|
|
999
|
-
status: 401,
|
|
1000
|
-
description: `0: Authorization has been denied for this request.`,
|
|
1001
|
-
},
|
|
1002
|
-
{
|
|
1003
|
-
status: 403,
|
|
1004
|
-
description: `0: Token Validation Failed`,
|
|
1005
|
-
},
|
|
1006
|
-
],
|
|
1007
|
-
});
|
|
1008
699
|
/**
|
|
1009
700
|
* @api GET https://friends.roblox.com/v1/users/:userId/friends
|
|
1010
701
|
* @summary Get list of all friends for the specified user.
|
|
@@ -1341,3 +1032,220 @@ export const getUserUseridMultigetAreTrustedFriends = endpoint({
|
|
|
1341
1032
|
{ status: 400, description: `1: The target user is invalid or does not exist.` },
|
|
1342
1033
|
],
|
|
1343
1034
|
});
|
|
1035
|
+
|
|
1036
|
+
// Friend-management write endpoints Roblox removed from its published API docs but
|
|
1037
|
+
// which remain functional. Not on the official deprecated-endpoints list; the docs
|
|
1038
|
+
// only list the older /api/friends/* and api.roblox.com/user/* variants as removed.
|
|
1039
|
+
|
|
1040
|
+
const Patch_FriendshipRequestModel = z.object({
|
|
1041
|
+
friendshipOriginSourceType: z.enum([
|
|
1042
|
+
'Unknown',
|
|
1043
|
+
'PlayerSearch',
|
|
1044
|
+
'QrCode',
|
|
1045
|
+
'InGame',
|
|
1046
|
+
'UserProfile',
|
|
1047
|
+
'QqContactImporter',
|
|
1048
|
+
'WeChatContactImporter',
|
|
1049
|
+
'ProfileShare',
|
|
1050
|
+
'PhoneContactImporter',
|
|
1051
|
+
'FriendRecommendations',
|
|
1052
|
+
'UserCommunities',
|
|
1053
|
+
]),
|
|
1054
|
+
senderNickname: z.string(),
|
|
1055
|
+
});
|
|
1056
|
+
|
|
1057
|
+
export const postContactsTargetcontactidRequestFriendship = endpoint({
|
|
1058
|
+
method: 'POST',
|
|
1059
|
+
path: '/v1/contacts/:targetContactId/request-friendship',
|
|
1060
|
+
baseUrl: 'https://friends.roblox.com',
|
|
1061
|
+
requestFormat: 'json',
|
|
1062
|
+
serializationMethod: {
|
|
1063
|
+
targetContactId: { style: 'simple' },
|
|
1064
|
+
},
|
|
1065
|
+
parameters: {
|
|
1066
|
+
targetContactId: z.string(),
|
|
1067
|
+
},
|
|
1068
|
+
response: Roblox_Friends_Api_CaptchaStatusResponseModel,
|
|
1069
|
+
errors: [
|
|
1070
|
+
{
|
|
1071
|
+
status: 400,
|
|
1072
|
+
description: `1: The target user is invalid or does not exist.
|
|
1073
|
+
5: The target user is already a friend.
|
|
1074
|
+
6: Invalid parameters.
|
|
1075
|
+
7: The user cannot be friends with itself.
|
|
1076
|
+
31: User with max friends sent friend request.`,
|
|
1077
|
+
},
|
|
1078
|
+
{ status: 401, description: `0: Authorization has been denied for this request.` },
|
|
1079
|
+
{
|
|
1080
|
+
status: 403,
|
|
1081
|
+
description: `0: Token Validation Failed
|
|
1082
|
+
2: The user is banned from performing operation.
|
|
1083
|
+
3: The user is blocked from performing this action.
|
|
1084
|
+
14: The user has not passed the captcha.`,
|
|
1085
|
+
},
|
|
1086
|
+
{ status: 429, description: `9: The flood limit has been exceeded.` },
|
|
1087
|
+
],
|
|
1088
|
+
});
|
|
1089
|
+
|
|
1090
|
+
export const deleteMyNewFriendRequests = endpoint({
|
|
1091
|
+
method: 'DELETE',
|
|
1092
|
+
path: '/v1/my/new-friend-requests',
|
|
1093
|
+
baseUrl: 'https://friends.roblox.com',
|
|
1094
|
+
requestFormat: 'json',
|
|
1095
|
+
response: z.object({ status: z.boolean() }),
|
|
1096
|
+
errors: [
|
|
1097
|
+
{ status: 401, description: `0: Authorization has been denied for this request.` },
|
|
1098
|
+
{ status: 403, description: `0: Token Validation Failed` },
|
|
1099
|
+
],
|
|
1100
|
+
});
|
|
1101
|
+
|
|
1102
|
+
export const postUserFriendRequestsDeclineAll = endpoint({
|
|
1103
|
+
method: 'POST',
|
|
1104
|
+
path: '/v1/user/friend-requests/decline-all',
|
|
1105
|
+
baseUrl: 'https://friends.roblox.com',
|
|
1106
|
+
requestFormat: 'json',
|
|
1107
|
+
response: z.object({ backgrounded: z.boolean() }),
|
|
1108
|
+
errors: [
|
|
1109
|
+
{ status: 401, description: `0: Authorization has been denied for this request.` },
|
|
1110
|
+
{ status: 403, description: `0: Token Validation Failed` },
|
|
1111
|
+
],
|
|
1112
|
+
});
|
|
1113
|
+
|
|
1114
|
+
export const postUsersRequesteruseridAcceptFriendRequest = endpoint({
|
|
1115
|
+
method: 'POST',
|
|
1116
|
+
path: '/v1/users/:requesterUserId/accept-friend-request',
|
|
1117
|
+
baseUrl: 'https://friends.roblox.com',
|
|
1118
|
+
requestFormat: 'json',
|
|
1119
|
+
serializationMethod: {
|
|
1120
|
+
requesterUserId: { style: 'simple' },
|
|
1121
|
+
},
|
|
1122
|
+
parameters: {
|
|
1123
|
+
requesterUserId: z.number().int(),
|
|
1124
|
+
},
|
|
1125
|
+
response: z.object({}),
|
|
1126
|
+
errors: [
|
|
1127
|
+
{
|
|
1128
|
+
status: 400,
|
|
1129
|
+
description: `1: The target user is invalid or does not exist.
|
|
1130
|
+
10: The friend request does not exist.
|
|
1131
|
+
11: The current users friends limit has been exceeded.
|
|
1132
|
+
12: The target users friends limit has been exceeded.`,
|
|
1133
|
+
},
|
|
1134
|
+
{ status: 401, description: `0: Authorization has been denied for this request.` },
|
|
1135
|
+
{
|
|
1136
|
+
status: 403,
|
|
1137
|
+
description: `0: Token Validation Failed
|
|
1138
|
+
3: The user is blocked from performing this action.`,
|
|
1139
|
+
},
|
|
1140
|
+
],
|
|
1141
|
+
});
|
|
1142
|
+
|
|
1143
|
+
export const postUsersRequesteruseridDeclineFriendRequest = endpoint({
|
|
1144
|
+
method: 'POST',
|
|
1145
|
+
path: '/v1/users/:requesterUserId/decline-friend-request',
|
|
1146
|
+
baseUrl: 'https://friends.roblox.com',
|
|
1147
|
+
requestFormat: 'json',
|
|
1148
|
+
serializationMethod: {
|
|
1149
|
+
requesterUserId: { style: 'simple' },
|
|
1150
|
+
},
|
|
1151
|
+
parameters: {
|
|
1152
|
+
requesterUserId: z.number().int(),
|
|
1153
|
+
},
|
|
1154
|
+
response: z.object({}),
|
|
1155
|
+
errors: [
|
|
1156
|
+
{
|
|
1157
|
+
status: 400,
|
|
1158
|
+
description: `1: The target user is invalid or does not exist.
|
|
1159
|
+
10: The friend request does not exist.`,
|
|
1160
|
+
},
|
|
1161
|
+
{ status: 401, description: `0: Authorization has been denied for this request.` },
|
|
1162
|
+
{ status: 403, description: `0: Token Validation Failed` },
|
|
1163
|
+
],
|
|
1164
|
+
});
|
|
1165
|
+
|
|
1166
|
+
export const postUsersSenderuseridAcceptFriendRequestWithToken = endpoint({
|
|
1167
|
+
method: 'POST',
|
|
1168
|
+
path: '/v1/users/:senderUserId/accept-friend-request-with-token',
|
|
1169
|
+
baseUrl: 'https://friends.roblox.com',
|
|
1170
|
+
requestFormat: 'json',
|
|
1171
|
+
serializationMethod: {
|
|
1172
|
+
body: {},
|
|
1173
|
+
senderUserId: { style: 'simple' },
|
|
1174
|
+
},
|
|
1175
|
+
parameters: {
|
|
1176
|
+
senderUserId: z.number().int(),
|
|
1177
|
+
},
|
|
1178
|
+
body: z.object({ friendingToken: z.string() }),
|
|
1179
|
+
response: z.object({}),
|
|
1180
|
+
errors: [
|
|
1181
|
+
{
|
|
1182
|
+
status: 400,
|
|
1183
|
+
description: `1: The target user is invalid or does not exist.
|
|
1184
|
+
3: The user is blocked from performing this action.
|
|
1185
|
+
5: The target user is already a friend.
|
|
1186
|
+
6: Invalid parameters.
|
|
1187
|
+
7: The user cannot be friends with itself.
|
|
1188
|
+
11: The current users friends limit has been exceeded.
|
|
1189
|
+
12: The target users friends limit has been exceeded.`,
|
|
1190
|
+
},
|
|
1191
|
+
{ status: 401, description: `0: Authorization has been denied for this request.` },
|
|
1192
|
+
{ status: 403, description: `0: Token Validation Failed` },
|
|
1193
|
+
],
|
|
1194
|
+
});
|
|
1195
|
+
|
|
1196
|
+
export const postUsersTargetuseridRequestFriendship = endpoint({
|
|
1197
|
+
method: 'POST',
|
|
1198
|
+
path: '/v1/users/:targetUserId/request-friendship',
|
|
1199
|
+
baseUrl: 'https://friends.roblox.com',
|
|
1200
|
+
requestFormat: 'json',
|
|
1201
|
+
serializationMethod: {
|
|
1202
|
+
body: {},
|
|
1203
|
+
targetUserId: { style: 'simple' },
|
|
1204
|
+
},
|
|
1205
|
+
parameters: {
|
|
1206
|
+
targetUserId: z.number().int(),
|
|
1207
|
+
},
|
|
1208
|
+
body: Patch_FriendshipRequestModel,
|
|
1209
|
+
response: Roblox_Friends_Api_CaptchaStatusResponseModel,
|
|
1210
|
+
errors: [
|
|
1211
|
+
{
|
|
1212
|
+
status: 400,
|
|
1213
|
+
description: `1: The target user is invalid or does not exist.
|
|
1214
|
+
5: The target user is already a friend.
|
|
1215
|
+
6: Invalid parameters.
|
|
1216
|
+
7: The user cannot be friends with itself.
|
|
1217
|
+
10: The friend request does not exist.
|
|
1218
|
+
13: The users are not in the same game.
|
|
1219
|
+
31: User with max friends sent friend request.
|
|
1220
|
+
35: Invalid nickname.`,
|
|
1221
|
+
},
|
|
1222
|
+
{ status: 401, description: `0: Authorization has been denied for this request.` },
|
|
1223
|
+
{
|
|
1224
|
+
status: 403,
|
|
1225
|
+
description: `0: Token Validation Failed
|
|
1226
|
+
2: The user is banned from performing operation.
|
|
1227
|
+
3: The user is blocked from performing this action.
|
|
1228
|
+
14: The user has not passed the captcha.`,
|
|
1229
|
+
},
|
|
1230
|
+
{ status: 429, description: `9: The flood limit has been exceeded.` },
|
|
1231
|
+
],
|
|
1232
|
+
});
|
|
1233
|
+
|
|
1234
|
+
export const postUsersTargetuseridUnfriend = endpoint({
|
|
1235
|
+
method: 'POST',
|
|
1236
|
+
path: '/v1/users/:targetUserId/unfriend',
|
|
1237
|
+
baseUrl: 'https://friends.roblox.com',
|
|
1238
|
+
requestFormat: 'json',
|
|
1239
|
+
serializationMethod: {
|
|
1240
|
+
targetUserId: { style: 'simple' },
|
|
1241
|
+
},
|
|
1242
|
+
parameters: {
|
|
1243
|
+
targetUserId: z.number().int(),
|
|
1244
|
+
},
|
|
1245
|
+
response: z.object({}),
|
|
1246
|
+
errors: [
|
|
1247
|
+
{ status: 400, description: `1: The target user is invalid or does not exist.` },
|
|
1248
|
+
{ status: 401, description: `0: Authorization has been denied for this request.` },
|
|
1249
|
+
{ status: 403, description: `0: Token Validation Failed` },
|
|
1250
|
+
],
|
|
1251
|
+
});
|