@jacobhumston/roblox-openapi-ts 1.0.31 → 1.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/types.d.ts +2994 -592
  2. package/package.json +1 -1
package/dist/types.d.ts CHANGED
@@ -1,4 +1,959 @@
1
1
  export interface paths {
2
+ "/ads-management/v1/advertisable-universes": {
3
+ parameters: {
4
+ query?: never;
5
+ header?: never;
6
+ path?: never;
7
+ cookie?: never;
8
+ };
9
+ /**
10
+ * List advertisable universes
11
+ * @description Returns the universe IDs of every experience the billing account is eligible to advertise. The complete list is returned in a single response; this endpoint is not paginated. Use these IDs to set targetUniverseId when creating a campaign, and resolve experience names with the Open Cloud Universe API.
12
+ */
13
+ get: {
14
+ parameters: {
15
+ query?: never;
16
+ header?: never;
17
+ path?: never;
18
+ cookie?: never;
19
+ };
20
+ requestBody?: never;
21
+ responses: {
22
+ /** @description OK */
23
+ 200: {
24
+ headers: {
25
+ [name: string]: unknown;
26
+ };
27
+ content: {
28
+ "application/json": components["schemas"]["internal_public_v1.ListAdvertisableUniversesResponse"];
29
+ };
30
+ };
31
+ /** @description Permission denied */
32
+ 403: {
33
+ headers: {
34
+ [name: string]: unknown;
35
+ };
36
+ content: {
37
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
38
+ };
39
+ };
40
+ /** @description Rate limit exceeded */
41
+ 429: {
42
+ headers: {
43
+ [name: string]: unknown;
44
+ };
45
+ content: {
46
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
47
+ };
48
+ };
49
+ /** @description Internal server error */
50
+ 500: {
51
+ headers: {
52
+ [name: string]: unknown;
53
+ };
54
+ content: {
55
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
56
+ };
57
+ };
58
+ };
59
+ };
60
+ put?: never;
61
+ post?: never;
62
+ delete?: never;
63
+ options?: never;
64
+ head?: never;
65
+ patch?: never;
66
+ trace?: never;
67
+ };
68
+ "/ads-management/v1/billing-accounts": {
69
+ parameters: {
70
+ query?: never;
71
+ header?: never;
72
+ path?: never;
73
+ cookie?: never;
74
+ };
75
+ /**
76
+ * List billing accounts
77
+ * @description Lists the billing accounts owned by the authenticated user. Each account includes its type, status, time zone, and create/update timestamps. Results are paginated with a cursor (pageToken).
78
+ */
79
+ get: {
80
+ parameters: {
81
+ query?: {
82
+ /** @description Maximum results per page (1-100, default 50) */
83
+ maxPageSize?: number;
84
+ /** @description Opaque cursor from a prior nextPageToken */
85
+ pageToken?: string;
86
+ };
87
+ header?: never;
88
+ path?: never;
89
+ cookie?: never;
90
+ };
91
+ requestBody?: never;
92
+ responses: {
93
+ /** @description OK */
94
+ 200: {
95
+ headers: {
96
+ [name: string]: unknown;
97
+ };
98
+ content: {
99
+ "application/json": components["schemas"]["internal_public_v1.ListBillingAccountsResponse"];
100
+ };
101
+ };
102
+ /** @description Invalid maxPageSize or pageToken */
103
+ 400: {
104
+ headers: {
105
+ [name: string]: unknown;
106
+ };
107
+ content: {
108
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
109
+ };
110
+ };
111
+ /** @description Permission denied */
112
+ 403: {
113
+ headers: {
114
+ [name: string]: unknown;
115
+ };
116
+ content: {
117
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
118
+ };
119
+ };
120
+ /** @description Rate limit exceeded */
121
+ 429: {
122
+ headers: {
123
+ [name: string]: unknown;
124
+ };
125
+ content: {
126
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
127
+ };
128
+ };
129
+ /** @description Internal server error */
130
+ 500: {
131
+ headers: {
132
+ [name: string]: unknown;
133
+ };
134
+ content: {
135
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
136
+ };
137
+ };
138
+ };
139
+ };
140
+ put?: never;
141
+ post?: never;
142
+ delete?: never;
143
+ options?: never;
144
+ head?: never;
145
+ patch?: never;
146
+ trace?: never;
147
+ };
148
+ "/ads-management/v1/billing-accounts/{id}": {
149
+ parameters: {
150
+ query?: never;
151
+ header?: never;
152
+ path?: never;
153
+ cookie?: never;
154
+ };
155
+ /**
156
+ * Get a billing account
157
+ * @description Returns a single billing account owned by the authenticated user. Returns 404 if the account does not exist or is not owned by the caller.
158
+ */
159
+ get: {
160
+ parameters: {
161
+ query?: never;
162
+ header?: never;
163
+ path: {
164
+ /** @description Billing account ID */
165
+ id: string;
166
+ };
167
+ cookie?: never;
168
+ };
169
+ requestBody?: never;
170
+ responses: {
171
+ /** @description OK */
172
+ 200: {
173
+ headers: {
174
+ [name: string]: unknown;
175
+ };
176
+ content: {
177
+ "application/json": components["schemas"]["internal_public_v1.BillingAccount"];
178
+ };
179
+ };
180
+ /** @description Permission denied */
181
+ 403: {
182
+ headers: {
183
+ [name: string]: unknown;
184
+ };
185
+ content: {
186
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
187
+ };
188
+ };
189
+ /** @description Billing account not found */
190
+ 404: {
191
+ headers: {
192
+ [name: string]: unknown;
193
+ };
194
+ content: {
195
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
196
+ };
197
+ };
198
+ /** @description Rate limit exceeded */
199
+ 429: {
200
+ headers: {
201
+ [name: string]: unknown;
202
+ };
203
+ content: {
204
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
205
+ };
206
+ };
207
+ /** @description Internal server error */
208
+ 500: {
209
+ headers: {
210
+ [name: string]: unknown;
211
+ };
212
+ content: {
213
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
214
+ };
215
+ };
216
+ };
217
+ };
218
+ put?: never;
219
+ post?: never;
220
+ delete?: never;
221
+ options?: never;
222
+ head?: never;
223
+ patch?: never;
224
+ trace?: never;
225
+ };
226
+ "/ads-management/v1/campaign-options": {
227
+ parameters: {
228
+ query?: never;
229
+ header?: never;
230
+ path?: never;
231
+ cookie?: never;
232
+ };
233
+ /**
234
+ * Get campaign options
235
+ * @description Returns the values accepted when creating a campaign: supported objectives, payment types, ad formats, and targeting dimensions. When universeId is supplied, the response also includes an eligibility block indicating whether that experience can currently be advertised, along with the reasons when it cannot.
236
+ */
237
+ get: {
238
+ parameters: {
239
+ query?: {
240
+ /** @description Universe ID to check eligibility for */
241
+ universeId?: string;
242
+ /** @description Objective filter (ENGAGEMENT in v1) */
243
+ objective?: string;
244
+ };
245
+ header?: never;
246
+ path?: never;
247
+ cookie?: never;
248
+ };
249
+ requestBody?: never;
250
+ responses: {
251
+ /** @description OK */
252
+ 200: {
253
+ headers: {
254
+ [name: string]: unknown;
255
+ };
256
+ content: {
257
+ "application/json": components["schemas"]["internal_public_v1.CampaignOptionsResponse"];
258
+ };
259
+ };
260
+ /** @description Invalid objective or universeId */
261
+ 400: {
262
+ headers: {
263
+ [name: string]: unknown;
264
+ };
265
+ content: {
266
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
267
+ };
268
+ };
269
+ /** @description Permission denied */
270
+ 403: {
271
+ headers: {
272
+ [name: string]: unknown;
273
+ };
274
+ content: {
275
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
276
+ };
277
+ };
278
+ /** @description Rate limit exceeded */
279
+ 429: {
280
+ headers: {
281
+ [name: string]: unknown;
282
+ };
283
+ content: {
284
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
285
+ };
286
+ };
287
+ /** @description Internal server error */
288
+ 500: {
289
+ headers: {
290
+ [name: string]: unknown;
291
+ };
292
+ content: {
293
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
294
+ };
295
+ };
296
+ };
297
+ };
298
+ put?: never;
299
+ post?: never;
300
+ delete?: never;
301
+ options?: never;
302
+ head?: never;
303
+ patch?: never;
304
+ trace?: never;
305
+ };
306
+ "/ads-management/v1/campaigns": {
307
+ parameters: {
308
+ query?: never;
309
+ header?: never;
310
+ path?: never;
311
+ cookie?: never;
312
+ };
313
+ /**
314
+ * List campaigns
315
+ * @description Lists the campaigns in the caller's billing account. Campaigns are grouped by status (ACTIVE first, then PAUSED, then CANCELLED) and returned newest first within each group. Results are paginated with a cursor (pageToken); each page returns up to maxPageSize campaigns (default 50, max 100).
316
+ */
317
+ get: {
318
+ parameters: {
319
+ query?: {
320
+ /** @description Maximum results per page (1-100, default 50) */
321
+ maxPageSize?: number;
322
+ /** @description Opaque cursor from a prior nextPageToken */
323
+ pageToken?: string;
324
+ };
325
+ header?: never;
326
+ path?: never;
327
+ cookie?: never;
328
+ };
329
+ requestBody?: never;
330
+ responses: {
331
+ /** @description OK */
332
+ 200: {
333
+ headers: {
334
+ [name: string]: unknown;
335
+ };
336
+ content: {
337
+ "application/json": components["schemas"]["internal_public_v1.ListCampaignsResponse"];
338
+ };
339
+ };
340
+ /** @description Invalid maxPageSize or pageToken */
341
+ 400: {
342
+ headers: {
343
+ [name: string]: unknown;
344
+ };
345
+ content: {
346
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
347
+ };
348
+ };
349
+ /** @description Permission denied */
350
+ 403: {
351
+ headers: {
352
+ [name: string]: unknown;
353
+ };
354
+ content: {
355
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
356
+ };
357
+ };
358
+ /** @description Rate limit exceeded */
359
+ 429: {
360
+ headers: {
361
+ [name: string]: unknown;
362
+ };
363
+ content: {
364
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
365
+ };
366
+ };
367
+ /** @description Internal server error */
368
+ 500: {
369
+ headers: {
370
+ [name: string]: unknown;
371
+ };
372
+ content: {
373
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
374
+ };
375
+ };
376
+ };
377
+ };
378
+ put?: never;
379
+ /**
380
+ * Create a campaign
381
+ * @description Creates an ad campaign in the billing account. The creatives you reference must already exist as Open Cloud image assets that you have permission to use; they are validated and saved to your account's reusable creatives when the campaign is created. On success the campaign is returned with deliveryStatus IN_REVIEW, meaning it is queued for ad-policy review and not yet serving — poll the campaign (or campaigns:batchGetStatus) until this changes. budget.amountMicros is the budget in micro-USD as a decimal string (e.g. "5000000" = $5.00). It must be at least the minimum campaign budget; an amount below the minimum returns 400 with the required minimum stated in the error message. schedule.durationInDays must not exceed 3650 (~10 years). The x-idempotency-key header is required and must be a UUID: retrying the same key with an identical body within 24 hours returns the original campaign (200), while reusing a key with a different body returns 409.
382
+ */
383
+ post: {
384
+ parameters: {
385
+ query?: never;
386
+ header: {
387
+ /** @description Idempotency key (UUID); 24h dedupe window. Identical replay returns the original campaign (200); mismatched replay may conflict (409). */
388
+ "x-idempotency-key": string;
389
+ };
390
+ path?: never;
391
+ cookie?: never;
392
+ };
393
+ /** @description Campaign creation request */
394
+ requestBody: {
395
+ content: {
396
+ "application/json": components["schemas"]["internal_public_v1.CreateCampaignRequest"];
397
+ };
398
+ };
399
+ responses: {
400
+ /** @description Campaign created, or idempotent replay of a prior create with the same key and body */
401
+ 200: {
402
+ headers: {
403
+ [name: string]: unknown;
404
+ };
405
+ content: {
406
+ "application/json": components["schemas"]["internal_public_v1.Campaign"];
407
+ };
408
+ };
409
+ /** @description Validation error, invalid asset, or endTime sent */
410
+ 400: {
411
+ headers: {
412
+ [name: string]: unknown;
413
+ };
414
+ content: {
415
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
416
+ };
417
+ };
418
+ /** @description Cannot manage account, universe not advertisable, or USE-permission denied */
419
+ 403: {
420
+ headers: {
421
+ [name: string]: unknown;
422
+ };
423
+ content: {
424
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
425
+ };
426
+ };
427
+ /** @description Idempotency key reused with a different request body, or concurrent write conflict */
428
+ 409: {
429
+ headers: {
430
+ [name: string]: unknown;
431
+ };
432
+ content: {
433
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
434
+ };
435
+ };
436
+ /** @description Rate limit exceeded */
437
+ 429: {
438
+ headers: {
439
+ [name: string]: unknown;
440
+ };
441
+ content: {
442
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
443
+ };
444
+ };
445
+ /** @description Internal server error */
446
+ 500: {
447
+ headers: {
448
+ [name: string]: unknown;
449
+ };
450
+ content: {
451
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
452
+ };
453
+ };
454
+ };
455
+ };
456
+ delete?: never;
457
+ options?: never;
458
+ head?: never;
459
+ patch?: never;
460
+ trace?: never;
461
+ };
462
+ "/ads-management/v1/campaigns/{id}": {
463
+ parameters: {
464
+ query?: never;
465
+ header?: never;
466
+ path?: never;
467
+ cookie?: never;
468
+ };
469
+ /**
470
+ * Get a campaign
471
+ * @description Returns a single campaign, including its status (the lifecycle state you control: ACTIVE, PAUSED, or CANCELLED) and its deliveryStatus (whether it is currently serving: SERVING, IN_REVIEW, NOT_SERVING, or REJECTED). deliveryStatusReasons lists any reasons that affect delivery — for example why a campaign is not serving or was rejected, or that a serving campaign is still in its initial learning period. Returns 404 if the campaign does not exist or is not owned by the caller.
472
+ */
473
+ get: {
474
+ parameters: {
475
+ query?: never;
476
+ header?: never;
477
+ path: {
478
+ /** @description Campaign ID */
479
+ id: string;
480
+ };
481
+ cookie?: never;
482
+ };
483
+ requestBody?: never;
484
+ responses: {
485
+ /** @description OK */
486
+ 200: {
487
+ headers: {
488
+ [name: string]: unknown;
489
+ };
490
+ content: {
491
+ "application/json": components["schemas"]["internal_public_v1.Campaign"];
492
+ };
493
+ };
494
+ /** @description Invalid campaign ID */
495
+ 400: {
496
+ headers: {
497
+ [name: string]: unknown;
498
+ };
499
+ content: {
500
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
501
+ };
502
+ };
503
+ /** @description Permission denied */
504
+ 403: {
505
+ headers: {
506
+ [name: string]: unknown;
507
+ };
508
+ content: {
509
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
510
+ };
511
+ };
512
+ /** @description Campaign not found */
513
+ 404: {
514
+ headers: {
515
+ [name: string]: unknown;
516
+ };
517
+ content: {
518
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
519
+ };
520
+ };
521
+ /** @description Rate limit exceeded */
522
+ 429: {
523
+ headers: {
524
+ [name: string]: unknown;
525
+ };
526
+ content: {
527
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
528
+ };
529
+ };
530
+ /** @description Internal server error */
531
+ 500: {
532
+ headers: {
533
+ [name: string]: unknown;
534
+ };
535
+ content: {
536
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
537
+ };
538
+ };
539
+ };
540
+ };
541
+ put?: never;
542
+ post?: never;
543
+ delete?: never;
544
+ options?: never;
545
+ head?: never;
546
+ /**
547
+ * Update a campaign
548
+ * @description Updates the mutable fields of a campaign. You can change: name, budget.amountMicros, schedule.startTime and schedule.durationInDays (schedule changes are only allowed before the campaign starts), and status. Set status to ACTIVE to run or resume the campaign, PAUSED to pause it, or CANCELLED to cancel it permanently. budget.type cannot be changed — only the amount. A budget increase takes effect immediately, but a budget decrease on a running campaign is scheduled for the next midnight in the account's time zone; while a decrease is pending, the response reports it in budget.scheduledAmountMicros and budget.scheduledEffectiveTime. The fields objective, paymentType, targeting, creativeAssetIds, and bid are fixed after creation and return 400 if included. The updated campaign is returned with its recomputed deliveryStatus.
549
+ */
550
+ patch: {
551
+ parameters: {
552
+ query?: never;
553
+ header?: never;
554
+ path: {
555
+ /** @description Campaign ID */
556
+ id: string;
557
+ };
558
+ cookie?: never;
559
+ };
560
+ /** @description Fields to update */
561
+ requestBody: {
562
+ content: {
563
+ "application/json": components["schemas"]["internal_public_v1.UpdateCampaignRequest"];
564
+ };
565
+ };
566
+ responses: {
567
+ /** @description OK */
568
+ 200: {
569
+ headers: {
570
+ [name: string]: unknown;
571
+ };
572
+ content: {
573
+ "application/json": components["schemas"]["internal_public_v1.Campaign"];
574
+ };
575
+ };
576
+ /** @description Validation error or immutable field supplied */
577
+ 400: {
578
+ headers: {
579
+ [name: string]: unknown;
580
+ };
581
+ content: {
582
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
583
+ };
584
+ };
585
+ /** @description Permission denied */
586
+ 403: {
587
+ headers: {
588
+ [name: string]: unknown;
589
+ };
590
+ content: {
591
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
592
+ };
593
+ };
594
+ /** @description Campaign not found */
595
+ 404: {
596
+ headers: {
597
+ [name: string]: unknown;
598
+ };
599
+ content: {
600
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
601
+ };
602
+ };
603
+ /** @description Rate limit exceeded */
604
+ 429: {
605
+ headers: {
606
+ [name: string]: unknown;
607
+ };
608
+ content: {
609
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
610
+ };
611
+ };
612
+ /** @description Internal server error */
613
+ 500: {
614
+ headers: {
615
+ [name: string]: unknown;
616
+ };
617
+ content: {
618
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
619
+ };
620
+ };
621
+ };
622
+ };
623
+ trace?: never;
624
+ };
625
+ "/ads-management/v1/campaigns/{id}/performance": {
626
+ parameters: {
627
+ query?: never;
628
+ header?: never;
629
+ path?: never;
630
+ cookie?: never;
631
+ };
632
+ /**
633
+ * Get campaign performance
634
+ * @description Returns aggregate performance for a single campaign over the requested period: impressions, clicks, plays, spend, CPM (cost per 1,000 impressions), CPP (cost per play), playRate, and CTR (click-through rate). Metrics are calculated in the billing account's time zone. Money fields (spendMicros, cpmMicros, cppMicros) are micro-USD returned as decimal strings (e.g. "5000000" = $5.00). Set the period query parameter to choose the window (defaults to LAST_7_DAYS).
635
+ */
636
+ get: {
637
+ parameters: {
638
+ query?: {
639
+ /** @description Reporting period (TODAY, YESTERDAY, LAST_7_DAYS, LAST_30_DAYS, THIS_MONTH, LAST_MONTH, YEAR_TO_DATE, PREVIOUS_YEAR; default LAST_7_DAYS) */
640
+ period?: string;
641
+ };
642
+ header?: never;
643
+ path: {
644
+ /** @description Campaign ID */
645
+ id: string;
646
+ };
647
+ cookie?: never;
648
+ };
649
+ requestBody?: never;
650
+ responses: {
651
+ /** @description OK */
652
+ 200: {
653
+ headers: {
654
+ [name: string]: unknown;
655
+ };
656
+ content: {
657
+ "application/json": components["schemas"]["internal_public_v1.PerformanceResponse"];
658
+ };
659
+ };
660
+ /** @description Invalid period value */
661
+ 400: {
662
+ headers: {
663
+ [name: string]: unknown;
664
+ };
665
+ content: {
666
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
667
+ };
668
+ };
669
+ /** @description Permission denied */
670
+ 403: {
671
+ headers: {
672
+ [name: string]: unknown;
673
+ };
674
+ content: {
675
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
676
+ };
677
+ };
678
+ /** @description Campaign not found */
679
+ 404: {
680
+ headers: {
681
+ [name: string]: unknown;
682
+ };
683
+ content: {
684
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
685
+ };
686
+ };
687
+ /** @description Rate limit exceeded */
688
+ 429: {
689
+ headers: {
690
+ [name: string]: unknown;
691
+ };
692
+ content: {
693
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
694
+ };
695
+ };
696
+ /** @description Internal server error */
697
+ 500: {
698
+ headers: {
699
+ [name: string]: unknown;
700
+ };
701
+ content: {
702
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
703
+ };
704
+ };
705
+ };
706
+ };
707
+ put?: never;
708
+ post?: never;
709
+ delete?: never;
710
+ options?: never;
711
+ head?: never;
712
+ patch?: never;
713
+ trace?: never;
714
+ };
715
+ "/ads-management/v1/campaigns:batchGetPerformance": {
716
+ parameters: {
717
+ query?: never;
718
+ header?: never;
719
+ path?: never;
720
+ cookie?: never;
721
+ };
722
+ get?: never;
723
+ put?: never;
724
+ /**
725
+ * Batch get campaign performance
726
+ * @description Returns aggregate performance for up to 100 campaigns over a single shared period (default LAST_7_DAYS), calculated in the billing account's time zone. Each result carries the same metrics as the single-campaign performance endpoint: impressions, clicks, plays, spend, CPM (cost per 1,000 impressions), CPP (cost per play), playRate, and CTR (click-through rate). Provide the campaign IDs in campaignIds; any ID that is not found or is not owned by the caller is returned in the failures array with reason NOT_FOUND. Prefer this over calling the single-campaign endpoint in a loop when building account-wide dashboards.
727
+ */
728
+ post: {
729
+ parameters: {
730
+ query?: never;
731
+ header?: never;
732
+ path?: never;
733
+ cookie?: never;
734
+ };
735
+ /** @description Campaign IDs (max 100) and optional period */
736
+ requestBody: {
737
+ content: {
738
+ "application/json": components["schemas"]["internal_public_v1.BatchGetPerformanceRequest"];
739
+ };
740
+ };
741
+ responses: {
742
+ /** @description OK */
743
+ 200: {
744
+ headers: {
745
+ [name: string]: unknown;
746
+ };
747
+ content: {
748
+ "application/json": components["schemas"]["internal_public_v1.BatchGetPerformanceResponse"];
749
+ };
750
+ };
751
+ /** @description Invalid request, exceeds 100 IDs, or invalid period */
752
+ 400: {
753
+ headers: {
754
+ [name: string]: unknown;
755
+ };
756
+ content: {
757
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
758
+ };
759
+ };
760
+ /** @description Permission denied */
761
+ 403: {
762
+ headers: {
763
+ [name: string]: unknown;
764
+ };
765
+ content: {
766
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
767
+ };
768
+ };
769
+ /** @description Rate limit exceeded */
770
+ 429: {
771
+ headers: {
772
+ [name: string]: unknown;
773
+ };
774
+ content: {
775
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
776
+ };
777
+ };
778
+ /** @description Internal server error */
779
+ 500: {
780
+ headers: {
781
+ [name: string]: unknown;
782
+ };
783
+ content: {
784
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
785
+ };
786
+ };
787
+ };
788
+ };
789
+ delete?: never;
790
+ options?: never;
791
+ head?: never;
792
+ patch?: never;
793
+ trace?: never;
794
+ };
795
+ "/ads-management/v1/campaigns:batchGetStatus": {
796
+ parameters: {
797
+ query?: never;
798
+ header?: never;
799
+ path?: never;
800
+ cookie?: never;
801
+ };
802
+ get?: never;
803
+ put?: never;
804
+ /**
805
+ * Batch get campaign status
806
+ * @description Returns the status (lifecycle state) and deliveryStatus (whether the campaign is currently serving), along with deliveryStatusReasons, for up to 100 campaigns in a single call. This is the recommended way to poll the review and serving state of many campaigns at once. Provide the campaign IDs in campaignIds; any ID that is not found or is not owned by the caller is returned in the failures array with reason NOT_FOUND.
807
+ */
808
+ post: {
809
+ parameters: {
810
+ query?: never;
811
+ header?: never;
812
+ path?: never;
813
+ cookie?: never;
814
+ };
815
+ /** @description List of campaign IDs (max 100) */
816
+ requestBody: {
817
+ content: {
818
+ "application/json": components["schemas"]["internal_public_v1.BatchGetStatusRequest"];
819
+ };
820
+ };
821
+ responses: {
822
+ /** @description OK */
823
+ 200: {
824
+ headers: {
825
+ [name: string]: unknown;
826
+ };
827
+ content: {
828
+ "application/json": components["schemas"]["internal_public_v1.BatchGetStatusResponse"];
829
+ };
830
+ };
831
+ /** @description Invalid request or exceeds 100 IDs */
832
+ 400: {
833
+ headers: {
834
+ [name: string]: unknown;
835
+ };
836
+ content: {
837
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
838
+ };
839
+ };
840
+ /** @description Permission denied */
841
+ 403: {
842
+ headers: {
843
+ [name: string]: unknown;
844
+ };
845
+ content: {
846
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
847
+ };
848
+ };
849
+ /** @description Rate limit exceeded */
850
+ 429: {
851
+ headers: {
852
+ [name: string]: unknown;
853
+ };
854
+ content: {
855
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
856
+ };
857
+ };
858
+ /** @description Internal server error */
859
+ 500: {
860
+ headers: {
861
+ [name: string]: unknown;
862
+ };
863
+ content: {
864
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
865
+ };
866
+ };
867
+ };
868
+ };
869
+ delete?: never;
870
+ options?: never;
871
+ head?: never;
872
+ patch?: never;
873
+ trace?: never;
874
+ };
875
+ "/ads-management/v1/creatives": {
876
+ parameters: {
877
+ query?: never;
878
+ header?: never;
879
+ path?: never;
880
+ cookie?: never;
881
+ };
882
+ /**
883
+ * List creatives
884
+ * @description Lists the reusable creatives saved to the caller's billing account. Each creative includes its assetId, name, moderation status, dimensions, and source. Use isArchived to filter by archive state. Results are paginated with a cursor (pageToken).
885
+ */
886
+ get: {
887
+ parameters: {
888
+ query?: {
889
+ /** @description Filter by archived status */
890
+ isArchived?: boolean;
891
+ /** @description Maximum results per page (1-100, default 50) */
892
+ maxPageSize?: number;
893
+ /** @description Opaque cursor from a prior nextPageToken */
894
+ pageToken?: string;
895
+ };
896
+ header?: never;
897
+ path?: never;
898
+ cookie?: never;
899
+ };
900
+ requestBody?: never;
901
+ responses: {
902
+ /** @description OK */
903
+ 200: {
904
+ headers: {
905
+ [name: string]: unknown;
906
+ };
907
+ content: {
908
+ "application/json": components["schemas"]["internal_public_v1.ListCreativesResponse"];
909
+ };
910
+ };
911
+ /** @description Invalid maxPageSize or pageToken */
912
+ 400: {
913
+ headers: {
914
+ [name: string]: unknown;
915
+ };
916
+ content: {
917
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
918
+ };
919
+ };
920
+ /** @description Permission denied */
921
+ 403: {
922
+ headers: {
923
+ [name: string]: unknown;
924
+ };
925
+ content: {
926
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
927
+ };
928
+ };
929
+ /** @description Rate limit exceeded */
930
+ 429: {
931
+ headers: {
932
+ [name: string]: unknown;
933
+ };
934
+ content: {
935
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
936
+ };
937
+ };
938
+ /** @description Internal server error */
939
+ 500: {
940
+ headers: {
941
+ [name: string]: unknown;
942
+ };
943
+ content: {
944
+ "application/json": components["schemas"]["internal_public_v1.ErrorEnvelope"];
945
+ };
946
+ };
947
+ };
948
+ };
949
+ put?: never;
950
+ post?: never;
951
+ delete?: never;
952
+ options?: never;
953
+ head?: never;
954
+ patch?: never;
955
+ trace?: never;
956
+ };
2
957
  "/analytics-query-api/v1/universes/{universeId}/dimension-values": {
3
958
  parameters: {
4
959
  query?: never;
@@ -501,10 +1456,7 @@ export interface paths {
501
1456
  headers: {
502
1457
  [name: string]: unknown;
503
1458
  };
504
- content: {
505
- "application/json": components["schemas"]["Roblox.Web.Assets.AssetResponseItemV1"];
506
- "text/json": components["schemas"]["Roblox.Web.Assets.AssetResponseItemV1"];
507
- };
1459
+ content?: never;
508
1460
  };
509
1461
  /** @description 0: Authorization has been denied for this request. */
510
1462
  401: {
@@ -574,10 +1526,7 @@ export interface paths {
574
1526
  headers: {
575
1527
  [name: string]: unknown;
576
1528
  };
577
- content: {
578
- "application/json": components["schemas"]["Roblox.Web.Assets.AssetResponseItemV1"];
579
- "text/json": components["schemas"]["Roblox.Web.Assets.AssetResponseItemV1"];
580
- };
1529
+ content?: never;
581
1530
  };
582
1531
  /** @description 0: Authorization has been denied for this request. */
583
1532
  401: {
@@ -3469,7 +4418,9 @@ export interface paths {
3469
4418
  paymentSourceType?: 1 | 2;
3470
4419
  /**
3471
4420
  * Format: binary
3472
- * @description The badge icon.
4421
+ * @description The badge icon. Optional: when omitted and a curated default badge icon is configured on
4422
+ * the service, the badge is created with that default icon. When provided, exactly one file
4423
+ * must be supplied.
3473
4424
  */
3474
4425
  files?: string;
3475
4426
  /**
@@ -10293,6 +11244,102 @@ export interface paths {
10293
11244
  patch?: never;
10294
11245
  trace?: never;
10295
11246
  };
11247
+ "/thumbnail-personalization-api/v1/universes/{universeId}/personalization": {
11248
+ parameters: {
11249
+ query?: never;
11250
+ header?: never;
11251
+ path?: never;
11252
+ cookie?: never;
11253
+ };
11254
+ get: operations["ThumbnailPersonalizationApi.HomepageThumbnail_FindThumbnailPersonalizations"];
11255
+ put?: never;
11256
+ post?: never;
11257
+ delete?: never;
11258
+ options?: never;
11259
+ head?: never;
11260
+ patch?: never;
11261
+ trace?: never;
11262
+ };
11263
+ "/thumbnail-personalization-api/v1/universes/{universeId}/personalization/create": {
11264
+ parameters: {
11265
+ query?: never;
11266
+ header?: never;
11267
+ path?: never;
11268
+ cookie?: never;
11269
+ };
11270
+ get?: never;
11271
+ put?: never;
11272
+ post: operations["ThumbnailPersonalizationApi.HomepageThumbnail_CreateThumbnailPersonalization"];
11273
+ delete?: never;
11274
+ options?: never;
11275
+ head?: never;
11276
+ patch?: never;
11277
+ trace?: never;
11278
+ };
11279
+ "/thumbnail-personalization-api/v1/universes/{universeId}/personalization/update": {
11280
+ parameters: {
11281
+ query?: never;
11282
+ header?: never;
11283
+ path?: never;
11284
+ cookie?: never;
11285
+ };
11286
+ get?: never;
11287
+ put?: never;
11288
+ post: operations["ThumbnailPersonalizationApi.HomepageThumbnail_UpdateThumbnailPersonalization"];
11289
+ delete?: never;
11290
+ options?: never;
11291
+ head?: never;
11292
+ patch?: never;
11293
+ trace?: never;
11294
+ };
11295
+ "/thumbnail-personalization-api/v1/universes/{universeId}/thumbnails": {
11296
+ parameters: {
11297
+ query?: never;
11298
+ header?: never;
11299
+ path?: never;
11300
+ cookie?: never;
11301
+ };
11302
+ get: operations["ThumbnailPersonalizationApi.HomepageThumbnail_GetHomepageThumbnails"];
11303
+ put?: never;
11304
+ post?: never;
11305
+ delete: operations["ThumbnailPersonalizationApi.HomepageThumbnail_DeleteHomepageThumbnails"];
11306
+ options?: never;
11307
+ head?: never;
11308
+ patch?: never;
11309
+ trace?: never;
11310
+ };
11311
+ "/thumbnail-personalization-api/v1/universes/{universeId}/thumbnails/uploads": {
11312
+ parameters: {
11313
+ query?: never;
11314
+ header?: never;
11315
+ path?: never;
11316
+ cookie?: never;
11317
+ };
11318
+ get?: never;
11319
+ put?: never;
11320
+ post: operations["ThumbnailPersonalizationApi.HomepageThumbnail_UploadHomepageThumbnails"];
11321
+ delete?: never;
11322
+ options?: never;
11323
+ head?: never;
11324
+ patch?: never;
11325
+ trace?: never;
11326
+ };
11327
+ "/thumbnail-personalization-api/v1/universes/{universeId}/thumbnails/uploads/status": {
11328
+ parameters: {
11329
+ query?: never;
11330
+ header?: never;
11331
+ path?: never;
11332
+ cookie?: never;
11333
+ };
11334
+ get: operations["ThumbnailPersonalizationApi.HomepageThumbnail_GetHomepageThumbnailsStatus"];
11335
+ put?: never;
11336
+ post?: never;
11337
+ delete?: never;
11338
+ options?: never;
11339
+ head?: never;
11340
+ patch?: never;
11341
+ trace?: never;
11342
+ };
10296
11343
  "/toolbox-service/v1/saves": {
10297
11344
  parameters: {
10298
11345
  query?: never;
@@ -10941,10 +11988,7 @@ export interface paths {
10941
11988
  headers: {
10942
11989
  [name: string]: unknown;
10943
11990
  };
10944
- content: {
10945
- "application/json": components["schemas"]["Roblox.Web.Assets.AssetResponseItemV1"];
10946
- "text/json": components["schemas"]["Roblox.Web.Assets.AssetResponseItemV1"];
10947
- };
11991
+ content?: never;
10948
11992
  };
10949
11993
  };
10950
11994
  };
@@ -11001,10 +12045,7 @@ export interface paths {
11001
12045
  headers: {
11002
12046
  [name: string]: unknown;
11003
12047
  };
11004
- content: {
11005
- "application/json": components["schemas"]["Roblox.Web.Assets.AssetResponseItemV1"];
11006
- "text/json": components["schemas"]["Roblox.Web.Assets.AssetResponseItemV1"];
11007
- };
12048
+ content?: never;
11008
12049
  };
11009
12050
  };
11010
12051
  };
@@ -11016,7 +12057,7 @@ export interface paths {
11016
12057
  patch?: never;
11017
12058
  trace?: never;
11018
12059
  };
11019
- "/v1/assets#ThumbnailsApi": {
12060
+ "/v1/assets#thumbnails.roblox.com": {
11020
12061
  parameters: {
11021
12062
  query?: never;
11022
12063
  header?: never;
@@ -11166,10 +12207,7 @@ export interface paths {
11166
12207
  headers: {
11167
12208
  [name: string]: unknown;
11168
12209
  };
11169
- content: {
11170
- "application/json": components["schemas"]["Roblox.Web.Assets.AssetResponseItemV1"][];
11171
- "text/json": components["schemas"]["Roblox.Web.Assets.AssetResponseItemV1"][];
11172
- };
12210
+ content?: never;
11173
12211
  };
11174
12212
  };
11175
12213
  };
@@ -11771,7 +12809,7 @@ export interface paths {
11771
12809
  };
11772
12810
  trace?: never;
11773
12811
  };
11774
- "/v1/autolocalization/games/{gameId}/autolocalizationtable#LocalizationTablesApi": {
12812
+ "/v1/autolocalization/games/{gameId}/autolocalizationtable#localizationtables.roblox.com": {
11775
12813
  parameters: {
11776
12814
  query?: never;
11777
12815
  header?: never;
@@ -11945,7 +12983,7 @@ export interface paths {
11945
12983
  };
11946
12984
  trace?: never;
11947
12985
  };
11948
- "/v1/autolocalization/games/{gameId}/settings#LocalizationTablesApi": {
12986
+ "/v1/autolocalization/games/{gameId}/settings#localizationtables.roblox.com": {
11949
12987
  parameters: {
11950
12988
  query?: never;
11951
12989
  header?: never;
@@ -12073,7 +13111,7 @@ export interface paths {
12073
13111
  patch?: never;
12074
13112
  trace?: never;
12075
13113
  };
12076
- "/v1/autolocalization/metadata#LocalizationTablesApi": {
13114
+ "/v1/autolocalization/metadata#localizationtables.roblox.com": {
12077
13115
  parameters: {
12078
13116
  query?: never;
12079
13117
  header?: never;
@@ -13099,7 +14137,7 @@ export interface paths {
13099
14137
  patch?: never;
13100
14138
  trace?: never;
13101
14139
  };
13102
- "/v1/badges/{badgeId}/icon#PublishApi": {
14140
+ "/v1/badges/{badgeId}/icon#publish.roblox.com": {
13103
14141
  parameters: {
13104
14142
  query?: never;
13105
14143
  header?: never;
@@ -13940,7 +14978,7 @@ export interface paths {
13940
14978
  patch?: never;
13941
14979
  trace?: never;
13942
14980
  };
13943
- "/v1/birthdate#UsersApi": {
14981
+ "/v1/birthdate#users.roblox.com": {
13944
14982
  parameters: {
13945
14983
  query?: never;
13946
14984
  header?: never;
@@ -14818,7 +15856,7 @@ export interface paths {
14818
15856
  patch?: never;
14819
15857
  trace?: never;
14820
15858
  };
14821
- "/v1/description#UsersApi": {
15859
+ "/v1/description#users.roblox.com": {
14822
15860
  parameters: {
14823
15861
  query?: never;
14824
15862
  header?: never;
@@ -15946,7 +16984,7 @@ export interface paths {
15946
16984
  patch?: never;
15947
16985
  trace?: never;
15948
16986
  };
15949
- "/v1/email/verify#AccountSettingsApi": {
16987
+ "/v1/email/verify#accountsettings.roblox.com": {
15950
16988
  parameters: {
15951
16989
  query?: never;
15952
16990
  header?: never;
@@ -19655,7 +20693,7 @@ export interface paths {
19655
20693
  patch?: never;
19656
20694
  trace?: never;
19657
20695
  };
19658
- "/v1/gender#UsersApi": {
20696
+ "/v1/gender#users.roblox.com": {
19659
20697
  parameters: {
19660
20698
  query?: never;
19661
20699
  header?: never;
@@ -22633,7 +23671,7 @@ export interface paths {
22633
23671
  };
22634
23672
  };
22635
23673
  put?: never;
22636
- /** Batch accepts group affiliate requests */
23674
+ /** Create a group relationship. */
22637
23675
  post: {
22638
23676
  parameters: {
22639
23677
  query?: never;
@@ -22641,12 +23679,14 @@ export interface paths {
22641
23679
  path: {
22642
23680
  /** @description The group id. */
22643
23681
  groupId: number;
22644
- /** @description The type of group relationship being made */
23682
+ /** @description The group relationship type, enemies or allies. */
22645
23683
  groupRelationshipType: string;
23684
+ /** @description The id of the group you want to create a relationship with. */
23685
+ relatedGroupId: number;
22646
23686
  };
22647
23687
  cookie?: never;
22648
23688
  };
22649
- requestBody: components["requestBodies"]["Roblox.Groups.Api.RelationshipsRequest"];
23689
+ requestBody?: never;
22650
23690
  responses: {
22651
23691
  /** @description OK */
22652
23692
  200: {
@@ -22658,6 +23698,18 @@ export interface paths {
22658
23698
  "text/json": components["schemas"]["Roblox.Web.WebAPI.ApiEmptyResponseModel"];
22659
23699
  };
22660
23700
  };
23701
+ /**
23702
+ * @description 1: Group relationship type or request type is invalid.
23703
+ * 2: Invalid group.
23704
+ * 3: Target group is invalid or does not exist.
23705
+ * 4: Your group cannot establish a relationship with itself.
23706
+ */
23707
+ 400: {
23708
+ headers: {
23709
+ [name: string]: unknown;
23710
+ };
23711
+ content?: never;
23712
+ };
22661
23713
  /** @description 0: Authorization has been denied for this request. */
22662
23714
  401: {
22663
23715
  headers: {
@@ -22665,7 +23717,14 @@ export interface paths {
22665
23717
  };
22666
23718
  content?: never;
22667
23719
  };
22668
- /** @description 0: Token Validation Failed */
23720
+ /**
23721
+ * @description 0: Token Validation Failed
23722
+ * 5: Your group does not allow enemy declarations.
23723
+ * 6: Other group does not allow enemy declarations.
23724
+ * 7: Your group already has a relationship with the target group.
23725
+ * 8: You are blocked from communicating with this user.
23726
+ * 9: Insufficient permissions.
23727
+ */
22669
23728
  403: {
22670
23729
  headers: {
22671
23730
  [name: string]: unknown;
@@ -22674,7 +23733,7 @@ export interface paths {
22674
23733
  };
22675
23734
  };
22676
23735
  };
22677
- /** Batch declines group affiliate requests */
23736
+ /** Deletes a group relationship. */
22678
23737
  delete: {
22679
23738
  parameters: {
22680
23739
  query?: never;
@@ -22682,12 +23741,14 @@ export interface paths {
22682
23741
  path: {
22683
23742
  /** @description The group id. */
22684
23743
  groupId: number;
22685
- /** @description The type of group relationship being made */
23744
+ /** @description The group relationship type, enemies or allies. */
22686
23745
  groupRelationshipType: string;
23746
+ /** @description The id of the group you want to delete the relationship with. */
23747
+ relatedGroupId: number;
22687
23748
  };
22688
23749
  cookie?: never;
22689
23750
  };
22690
- requestBody: components["requestBodies"]["Roblox.Groups.Api.RelationshipsRequest"];
23751
+ requestBody?: never;
22691
23752
  responses: {
22692
23753
  /** @description OK */
22693
23754
  200: {
@@ -22699,6 +23760,17 @@ export interface paths {
22699
23760
  "text/json": components["schemas"]["Roblox.Web.WebAPI.ApiEmptyResponseModel"];
22700
23761
  };
22701
23762
  };
23763
+ /**
23764
+ * @description 2: Invalid group.
23765
+ * 3: Target group is invalid or does not exist.
23766
+ * 11: Relationship does not exist.
23767
+ */
23768
+ 400: {
23769
+ headers: {
23770
+ [name: string]: unknown;
23771
+ };
23772
+ content?: never;
23773
+ };
22702
23774
  /** @description 0: Authorization has been denied for this request. */
22703
23775
  401: {
22704
23776
  headers: {
@@ -22706,7 +23778,10 @@ export interface paths {
22706
23778
  };
22707
23779
  content?: never;
22708
23780
  };
22709
- /** @description 0: Token Validation Failed */
23781
+ /**
23782
+ * @description 0: Token Validation Failed
23783
+ * 8: You are blocked from communicating with this user.
23784
+ */
22710
23785
  403: {
22711
23786
  headers: {
22712
23787
  [name: string]: unknown;
@@ -25583,10 +26658,7 @@ export interface paths {
25583
26658
  headers: {
25584
26659
  [name: string]: unknown;
25585
26660
  };
25586
- content: {
25587
- "application/json": components["schemas"]["Roblox.Web.Assets.AssetResponseItemV1"];
25588
- "text/json": components["schemas"]["Roblox.Web.Assets.AssetResponseItemV1"];
25589
- };
26661
+ content?: never;
25590
26662
  };
25591
26663
  /**
25592
26664
  * @description 2: invalid server request
@@ -25895,65 +26967,390 @@ export interface paths {
25895
26967
  patch?: never;
25896
26968
  trace?: never;
25897
26969
  };
25898
- "/v1/messages/unread/count": {
26970
+ "/v1/messages/unread/count": {
26971
+ parameters: {
26972
+ query?: never;
26973
+ header?: never;
26974
+ path?: never;
26975
+ cookie?: never;
26976
+ };
26977
+ /** Gets unread messages for the authenticated user. */
26978
+ get: {
26979
+ parameters: {
26980
+ query?: never;
26981
+ header?: never;
26982
+ path?: never;
26983
+ cookie?: never;
26984
+ };
26985
+ requestBody?: never;
26986
+ responses: {
26987
+ /** @description OK */
26988
+ 200: {
26989
+ headers: {
26990
+ [name: string]: unknown;
26991
+ };
26992
+ content: {
26993
+ "application/json": components["schemas"]["Roblox.PrivateMessages.Api.Models.UnreadMessagesCountResponse"];
26994
+ "text/json": components["schemas"]["Roblox.PrivateMessages.Api.Models.UnreadMessagesCountResponse"];
26995
+ };
26996
+ };
26997
+ /** @description 0: Authorization has been denied for this request. */
26998
+ 401: {
26999
+ headers: {
27000
+ [name: string]: unknown;
27001
+ };
27002
+ content?: never;
27003
+ };
27004
+ };
27005
+ };
27006
+ put?: never;
27007
+ post?: never;
27008
+ delete?: never;
27009
+ options?: never;
27010
+ head?: never;
27011
+ patch?: never;
27012
+ trace?: never;
27013
+ };
27014
+ "/v1/messages/{messageId}": {
27015
+ parameters: {
27016
+ query?: never;
27017
+ header?: never;
27018
+ path?: never;
27019
+ cookie?: never;
27020
+ };
27021
+ /** Gets a message's details. */
27022
+ get: {
27023
+ parameters: {
27024
+ query?: never;
27025
+ header?: never;
27026
+ path: {
27027
+ messageId: number;
27028
+ };
27029
+ cookie?: never;
27030
+ };
27031
+ requestBody?: never;
27032
+ responses: {
27033
+ /** @description OK */
27034
+ 200: {
27035
+ headers: {
27036
+ [name: string]: unknown;
27037
+ };
27038
+ content: {
27039
+ "application/json": components["schemas"]["Roblox.PrivateMessages.Api.Models.MessageDetailsResponse"];
27040
+ "text/json": components["schemas"]["Roblox.PrivateMessages.Api.Models.MessageDetailsResponse"];
27041
+ };
27042
+ };
27043
+ /** @description 2: Message does not exist or the current user is not authorized to view it. */
27044
+ 400: {
27045
+ headers: {
27046
+ [name: string]: unknown;
27047
+ };
27048
+ content?: never;
27049
+ };
27050
+ /** @description 0: Authorization has been denied for this request. */
27051
+ 401: {
27052
+ headers: {
27053
+ [name: string]: unknown;
27054
+ };
27055
+ content?: never;
27056
+ };
27057
+ };
27058
+ };
27059
+ put?: never;
27060
+ post?: never;
27061
+ delete?: never;
27062
+ options?: never;
27063
+ head?: never;
27064
+ patch?: never;
27065
+ trace?: never;
27066
+ };
27067
+ "/v1/metadata": {
27068
+ parameters: {
27069
+ query?: never;
27070
+ header?: never;
27071
+ path?: never;
27072
+ cookie?: never;
27073
+ };
27074
+ /** Get the metadata */
27075
+ get: {
27076
+ parameters: {
27077
+ query?: never;
27078
+ header?: never;
27079
+ path?: never;
27080
+ cookie?: never;
27081
+ };
27082
+ requestBody?: never;
27083
+ responses: {
27084
+ /** @description OK */
27085
+ 200: {
27086
+ headers: {
27087
+ [name: string]: unknown;
27088
+ };
27089
+ content: {
27090
+ "application/json": components["schemas"]["Roblox.AccountInformation.Api.Models.MetadataResponse"];
27091
+ "text/json": components["schemas"]["Roblox.AccountInformation.Api.Models.MetadataResponse"];
27092
+ };
27093
+ };
27094
+ };
27095
+ };
27096
+ put?: never;
27097
+ post?: never;
27098
+ delete?: never;
27099
+ options?: never;
27100
+ head?: never;
27101
+ patch?: never;
27102
+ trace?: never;
27103
+ };
27104
+ "/v1/metadata#friends.roblox.com": {
27105
+ parameters: {
27106
+ query?: never;
27107
+ header?: never;
27108
+ path?: never;
27109
+ cookie?: never;
27110
+ };
27111
+ get: {
27112
+ parameters: {
27113
+ query?: {
27114
+ targetUserId?: number;
27115
+ };
27116
+ header?: never;
27117
+ path?: never;
27118
+ cookie?: never;
27119
+ };
27120
+ requestBody?: never;
27121
+ responses: {
27122
+ /** @description OK */
27123
+ 200: {
27124
+ headers: {
27125
+ [name: string]: unknown;
27126
+ };
27127
+ content: {
27128
+ "application/json": components["schemas"]["Roblox.Friends.Api.Models.Response.FriendsPageMetadataResponse"];
27129
+ "text/json": components["schemas"]["Roblox.Friends.Api.Models.Response.FriendsPageMetadataResponse"];
27130
+ };
27131
+ };
27132
+ };
27133
+ };
27134
+ put?: never;
27135
+ post?: never;
27136
+ delete?: never;
27137
+ options?: never;
27138
+ head?: never;
27139
+ patch?: never;
27140
+ trace?: never;
27141
+ };
27142
+ "/v1/metadata#twostepverification.roblox.com": {
27143
+ parameters: {
27144
+ query?: never;
27145
+ header?: never;
27146
+ path?: never;
27147
+ cookie?: never;
27148
+ };
27149
+ /**
27150
+ * Gets two step verification system metadata.
27151
+ * @description The metadata endpoint takes in optional request parameters to output additional context
27152
+ * for when the user is unauthenticated but attempting to login with two step verification.
27153
+ *
27154
+ * When supplied, all three request parameters must be sent and match up.
27155
+ */
27156
+ get: {
27157
+ parameters: {
27158
+ query?: {
27159
+ /** @description The user ID. */
27160
+ userId?: number;
27161
+ /** @description The active two step verification challenge ID if there is one. */
27162
+ challengeId?: string;
27163
+ /** @description The Roblox.TwoStepVerification.Client.TwoStepVerificationActionType associated with the challenge. */
27164
+ actionType?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
27165
+ };
27166
+ header?: never;
27167
+ path?: never;
27168
+ cookie?: never;
27169
+ };
27170
+ requestBody?: never;
27171
+ responses: {
27172
+ /** @description OK */
27173
+ 200: {
27174
+ headers: {
27175
+ [name: string]: unknown;
27176
+ };
27177
+ content: {
27178
+ "application/json": components["schemas"]["Roblox.TwoStepVerification.Api.MetadataResponse"];
27179
+ "text/json": components["schemas"]["Roblox.TwoStepVerification.Api.MetadataResponse"];
27180
+ };
27181
+ };
27182
+ };
27183
+ };
27184
+ put?: never;
27185
+ post?: never;
27186
+ delete?: never;
27187
+ options?: never;
27188
+ head?: never;
27189
+ patch?: never;
27190
+ trace?: never;
27191
+ };
27192
+ "/v1/mobile-client-version": {
27193
+ parameters: {
27194
+ query?: never;
27195
+ header?: never;
27196
+ path?: never;
27197
+ cookie?: never;
27198
+ };
27199
+ /** Get mobile client version information based on app version parameter */
27200
+ get: {
27201
+ parameters: {
27202
+ query: {
27203
+ /** @description AppiOSV2.13, AppVersioniOS2.0.1, etc */
27204
+ appVersion: string;
27205
+ };
27206
+ header?: never;
27207
+ path?: never;
27208
+ cookie?: never;
27209
+ };
27210
+ requestBody?: never;
27211
+ responses: {
27212
+ /** @description OK */
27213
+ 200: {
27214
+ headers: {
27215
+ [name: string]: unknown;
27216
+ };
27217
+ content: {
27218
+ "application/json": components["schemas"]["Roblox.ClientSettings.Api.Models.Response.MobileClientVersionResponse"];
27219
+ "text/json": components["schemas"]["Roblox.ClientSettings.Api.Models.Response.MobileClientVersionResponse"];
27220
+ };
27221
+ };
27222
+ /** @description 2: Invalid binaryType. */
27223
+ 400: {
27224
+ headers: {
27225
+ [name: string]: unknown;
27226
+ };
27227
+ content?: never;
27228
+ };
27229
+ };
27230
+ };
27231
+ put?: never;
27232
+ post?: never;
27233
+ delete?: never;
27234
+ options?: never;
27235
+ head?: never;
27236
+ patch?: never;
27237
+ trace?: never;
27238
+ };
27239
+ "/v1/my/friends/count": {
27240
+ parameters: {
27241
+ query?: never;
27242
+ header?: never;
27243
+ path?: never;
27244
+ cookie?: never;
27245
+ };
27246
+ /** Get the number of friends a user has */
27247
+ get: {
27248
+ parameters: {
27249
+ query?: never;
27250
+ header?: never;
27251
+ path?: never;
27252
+ cookie?: never;
27253
+ };
27254
+ requestBody?: never;
27255
+ responses: {
27256
+ /** @description OK */
27257
+ 200: {
27258
+ headers: {
27259
+ [name: string]: unknown;
27260
+ };
27261
+ content: {
27262
+ "application/json": components["schemas"]["Roblox.Friends.Api.FriendsCountResponse"];
27263
+ "text/json": components["schemas"]["Roblox.Friends.Api.FriendsCountResponse"];
27264
+ };
27265
+ };
27266
+ /** @description 0: Authorization has been denied for this request. */
27267
+ 401: {
27268
+ headers: {
27269
+ [name: string]: unknown;
27270
+ };
27271
+ content?: never;
27272
+ };
27273
+ };
27274
+ };
27275
+ put?: never;
27276
+ post?: never;
27277
+ delete?: never;
27278
+ options?: never;
27279
+ head?: never;
27280
+ patch?: never;
27281
+ trace?: never;
27282
+ };
27283
+ "/v1/my/friends/refresh-qr-session": {
27284
+ parameters: {
27285
+ query?: never;
27286
+ header?: never;
27287
+ path?: never;
27288
+ cookie?: never;
27289
+ };
27290
+ get?: never;
27291
+ put?: never;
27292
+ post: {
27293
+ parameters: {
27294
+ query?: never;
27295
+ header?: never;
27296
+ path?: never;
27297
+ cookie?: never;
27298
+ };
27299
+ requestBody?: never;
27300
+ responses: {
27301
+ /** @description OK */
27302
+ 200: {
27303
+ headers: {
27304
+ [name: string]: unknown;
27305
+ };
27306
+ content: {
27307
+ "application/json": components["schemas"]["Roblox.Friends.Api.Models.Response.RefreshQrSessionResponse"];
27308
+ "text/json": components["schemas"]["Roblox.Friends.Api.Models.Response.RefreshQrSessionResponse"];
27309
+ };
27310
+ };
27311
+ /** @description 0: Authorization has been denied for this request. */
27312
+ 401: {
27313
+ headers: {
27314
+ [name: string]: unknown;
27315
+ };
27316
+ content?: never;
27317
+ };
27318
+ /** @description 0: Token Validation Failed */
27319
+ 403: {
27320
+ headers: {
27321
+ [name: string]: unknown;
27322
+ };
27323
+ content?: never;
27324
+ };
27325
+ };
27326
+ };
27327
+ delete?: never;
27328
+ options?: never;
27329
+ head?: never;
27330
+ patch?: never;
27331
+ trace?: never;
27332
+ };
27333
+ "/v1/my/friends/requests": {
25899
27334
  parameters: {
25900
27335
  query?: never;
25901
27336
  header?: never;
25902
27337
  path?: never;
25903
27338
  cookie?: never;
25904
27339
  };
25905
- /** Gets unread messages for the authenticated user. */
27340
+ /** Get all users that friend requests with targetUserId using exclusive start paging */
25906
27341
  get: {
25907
27342
  parameters: {
25908
- query?: never;
25909
- header?: never;
25910
- path?: never;
25911
- cookie?: never;
25912
- };
25913
- requestBody?: never;
25914
- responses: {
25915
- /** @description OK */
25916
- 200: {
25917
- headers: {
25918
- [name: string]: unknown;
25919
- };
25920
- content: {
25921
- "application/json": components["schemas"]["Roblox.PrivateMessages.Api.Models.UnreadMessagesCountResponse"];
25922
- "text/json": components["schemas"]["Roblox.PrivateMessages.Api.Models.UnreadMessagesCountResponse"];
25923
- };
25924
- };
25925
- /** @description 0: Authorization has been denied for this request. */
25926
- 401: {
25927
- headers: {
25928
- [name: string]: unknown;
25929
- };
25930
- content?: never;
27343
+ query?: {
27344
+ /** @description The number of results per request. */
27345
+ limit?: number;
27346
+ /** @description The paging cursor for the previous or next page. */
27347
+ cursor?: string;
27348
+ /** @description Optional session identifier. */
27349
+ sessionId?: string;
27350
+ friendRequestSort?: 0 | 1 | 2;
25931
27351
  };
25932
- };
25933
- };
25934
- put?: never;
25935
- post?: never;
25936
- delete?: never;
25937
- options?: never;
25938
- head?: never;
25939
- patch?: never;
25940
- trace?: never;
25941
- };
25942
- "/v1/messages/{messageId}": {
25943
- parameters: {
25944
- query?: never;
25945
- header?: never;
25946
- path?: never;
25947
- cookie?: never;
25948
- };
25949
- /** Gets a message's details. */
25950
- get: {
25951
- parameters: {
25952
- query?: never;
25953
27352
  header?: never;
25954
- path: {
25955
- messageId: number;
25956
- };
27353
+ path?: never;
25957
27354
  cookie?: never;
25958
27355
  };
25959
27356
  requestBody?: never;
@@ -25964,11 +27361,14 @@ export interface paths {
25964
27361
  [name: string]: unknown;
25965
27362
  };
25966
27363
  content: {
25967
- "application/json": components["schemas"]["Roblox.PrivateMessages.Api.Models.MessageDetailsResponse"];
25968
- "text/json": components["schemas"]["Roblox.PrivateMessages.Api.Models.MessageDetailsResponse"];
27364
+ "application/json": components["schemas"]["Roblox.Web.WebAPI.Models.ApiPageResponse_Roblox.Friends.Api.FriendRequestResponse_"];
27365
+ "text/json": components["schemas"]["Roblox.Web.WebAPI.Models.ApiPageResponse_Roblox.Friends.Api.FriendRequestResponse_"];
25969
27366
  };
25970
27367
  };
25971
- /** @description 2: Message does not exist or the current user is not authorized to view it. */
27368
+ /**
27369
+ * @description 1: The target user is invalid or does not exist.
27370
+ * 6: Invalid parameters.
27371
+ */
25972
27372
  400: {
25973
27373
  headers: {
25974
27374
  [name: string]: unknown;
@@ -25982,173 +27382,18 @@ export interface paths {
25982
27382
  };
25983
27383
  content?: never;
25984
27384
  };
25985
- };
25986
- };
25987
- put?: never;
25988
- post?: never;
25989
- delete?: never;
25990
- options?: never;
25991
- head?: never;
25992
- patch?: never;
25993
- trace?: never;
25994
- };
25995
- "/v1/metadata": {
25996
- parameters: {
25997
- query?: never;
25998
- header?: never;
25999
- path?: never;
26000
- cookie?: never;
26001
- };
26002
- /** Get the metadata */
26003
- get: {
26004
- parameters: {
26005
- query?: never;
26006
- header?: never;
26007
- path?: never;
26008
- cookie?: never;
26009
- };
26010
- requestBody?: never;
26011
- responses: {
26012
- /** @description OK */
26013
- 200: {
26014
- headers: {
26015
- [name: string]: unknown;
26016
- };
26017
- content: {
26018
- "application/json": components["schemas"]["Roblox.AccountInformation.Api.Models.MetadataResponse"];
26019
- "text/json": components["schemas"]["Roblox.AccountInformation.Api.Models.MetadataResponse"];
26020
- };
26021
- };
26022
- };
26023
- };
26024
- put?: never;
26025
- post?: never;
26026
- delete?: never;
26027
- options?: never;
26028
- head?: never;
26029
- patch?: never;
26030
- trace?: never;
26031
- };
26032
- "/v1/metadata#FriendsApi": {
26033
- parameters: {
26034
- query?: never;
26035
- header?: never;
26036
- path?: never;
26037
- cookie?: never;
26038
- };
26039
- get: {
26040
- parameters: {
26041
- query?: {
26042
- targetUserId?: number;
26043
- };
26044
- header?: never;
26045
- path?: never;
26046
- cookie?: never;
26047
- };
26048
- requestBody?: never;
26049
- responses: {
26050
- /** @description OK */
26051
- 200: {
26052
- headers: {
26053
- [name: string]: unknown;
26054
- };
26055
- content: {
26056
- "application/json": components["schemas"]["Roblox.Friends.Api.Models.Response.FriendsPageMetadataResponse"];
26057
- "text/json": components["schemas"]["Roblox.Friends.Api.Models.Response.FriendsPageMetadataResponse"];
26058
- };
26059
- };
26060
- };
26061
- };
26062
- put?: never;
26063
- post?: never;
26064
- delete?: never;
26065
- options?: never;
26066
- head?: never;
26067
- patch?: never;
26068
- trace?: never;
26069
- };
26070
- "/v1/metadata#TwoStepVerificationApi": {
26071
- parameters: {
26072
- query?: never;
26073
- header?: never;
26074
- path?: never;
26075
- cookie?: never;
26076
- };
26077
- /**
26078
- * Gets two step verification system metadata.
26079
- * @description The metadata endpoint takes in optional request parameters to output additional context
26080
- * for when the user is unauthenticated but attempting to login with two step verification.
26081
- *
26082
- * When supplied, all three request parameters must be sent and match up.
26083
- */
26084
- get: {
26085
- parameters: {
26086
- query?: {
26087
- /** @description The user ID. */
26088
- userId?: number;
26089
- /** @description The active two step verification challenge ID if there is one. */
26090
- challengeId?: string;
26091
- /** @description The Roblox.TwoStepVerification.Client.TwoStepVerificationActionType associated with the challenge. */
26092
- actionType?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
26093
- };
26094
- header?: never;
26095
- path?: never;
26096
- cookie?: never;
26097
- };
26098
- requestBody?: never;
26099
- responses: {
26100
- /** @description OK */
26101
- 200: {
26102
- headers: {
26103
- [name: string]: unknown;
26104
- };
26105
- content: {
26106
- "application/json": components["schemas"]["Roblox.TwoStepVerification.Api.MetadataResponse"];
26107
- "text/json": components["schemas"]["Roblox.TwoStepVerification.Api.MetadataResponse"];
26108
- };
26109
- };
26110
- };
26111
- };
26112
- put?: never;
26113
- post?: never;
26114
- delete?: never;
26115
- options?: never;
26116
- head?: never;
26117
- patch?: never;
26118
- trace?: never;
26119
- };
26120
- "/v1/mobile-client-version": {
26121
- parameters: {
26122
- query?: never;
26123
- header?: never;
26124
- path?: never;
26125
- cookie?: never;
26126
- };
26127
- /** Get mobile client version information based on app version parameter */
26128
- get: {
26129
- parameters: {
26130
- query: {
26131
- /** @description AppiOSV2.13, AppVersioniOS2.0.1, etc */
26132
- appVersion: string;
26133
- };
26134
- header?: never;
26135
- path?: never;
26136
- cookie?: never;
26137
- };
26138
- requestBody?: never;
26139
- responses: {
26140
- /** @description OK */
26141
- 200: {
27385
+ /**
27386
+ * @description 2: The user is banned from performing operation.
27387
+ * 3: The user is blocked from performing this action.
27388
+ */
27389
+ 403: {
26142
27390
  headers: {
26143
27391
  [name: string]: unknown;
26144
27392
  };
26145
- content: {
26146
- "application/json": components["schemas"]["Roblox.ClientSettings.Api.Models.Response.MobileClientVersionResponse"];
26147
- "text/json": components["schemas"]["Roblox.ClientSettings.Api.Models.Response.MobileClientVersionResponse"];
26148
- };
27393
+ content?: never;
26149
27394
  };
26150
- /** @description 2: Invalid binaryType. */
26151
- 400: {
27395
+ /** @description 9: The flood limit has been exceeded. */
27396
+ 429: {
26152
27397
  headers: {
26153
27398
  [name: string]: unknown;
26154
27399
  };
@@ -26164,19 +27409,21 @@ export interface paths {
26164
27409
  patch?: never;
26165
27410
  trace?: never;
26166
27411
  };
26167
- "/v1/my/friends/count": {
27412
+ "/v1/my/friends/{userId}/check-qr-session": {
26168
27413
  parameters: {
26169
27414
  query?: never;
26170
27415
  header?: never;
26171
27416
  path?: never;
26172
27417
  cookie?: never;
26173
27418
  };
26174
- /** Get the number of friends a user has */
26175
27419
  get: {
26176
27420
  parameters: {
26177
27421
  query?: never;
26178
27422
  header?: never;
26179
- path?: never;
27423
+ path: {
27424
+ /** @description user Id that shows the qr code */
27425
+ userId: number;
27426
+ };
26180
27427
  cookie?: never;
26181
27428
  };
26182
27429
  requestBody?: never;
@@ -26187,8 +27434,8 @@ export interface paths {
26187
27434
  [name: string]: unknown;
26188
27435
  };
26189
27436
  content: {
26190
- "application/json": components["schemas"]["Roblox.Friends.Api.FriendsCountResponse"];
26191
- "text/json": components["schemas"]["Roblox.Friends.Api.FriendsCountResponse"];
27437
+ "application/json": boolean;
27438
+ "text/json": boolean;
26192
27439
  };
26193
27440
  };
26194
27441
  /** @description 0: Authorization has been denied for this request. */
@@ -26208,16 +27455,14 @@ export interface paths {
26208
27455
  patch?: never;
26209
27456
  trace?: never;
26210
27457
  };
26211
- "/v1/my/friends/refresh-qr-session": {
27458
+ "/v1/my/new-friend-requests/count": {
26212
27459
  parameters: {
26213
27460
  query?: never;
26214
27461
  header?: never;
26215
27462
  path?: never;
26216
27463
  cookie?: never;
26217
27464
  };
26218
- get?: never;
26219
- put?: never;
26220
- post: {
27465
+ get: {
26221
27466
  parameters: {
26222
27467
  query?: never;
26223
27468
  header?: never;
@@ -26232,8 +27477,8 @@ export interface paths {
26232
27477
  [name: string]: unknown;
26233
27478
  };
26234
27479
  content: {
26235
- "application/json": components["schemas"]["Roblox.Friends.Api.Models.Response.RefreshQrSessionResponse"];
26236
- "text/json": components["schemas"]["Roblox.Friends.Api.Models.Response.RefreshQrSessionResponse"];
27480
+ "application/json": components["schemas"]["Roblox.Friends.Api.Models.Response.NewFriendRequestsCountResponse"];
27481
+ "text/json": components["schemas"]["Roblox.Friends.Api.Models.Response.NewFriendRequestsCountResponse"];
26237
27482
  };
26238
27483
  };
26239
27484
  /** @description 0: Authorization has been denied for this request. */
@@ -26243,29 +27488,24 @@ export interface paths {
26243
27488
  };
26244
27489
  content?: never;
26245
27490
  };
26246
- /** @description 0: Token Validation Failed */
26247
- 403: {
26248
- headers: {
26249
- [name: string]: unknown;
26250
- };
26251
- content?: never;
26252
- };
26253
27491
  };
26254
27492
  };
27493
+ put?: never;
27494
+ post?: never;
26255
27495
  delete?: never;
26256
27496
  options?: never;
26257
27497
  head?: never;
26258
27498
  patch?: never;
26259
27499
  trace?: never;
26260
27500
  };
26261
- "/v1/my/friends/requests": {
27501
+ "/v1/my/trusted-friends/requests": {
26262
27502
  parameters: {
26263
27503
  query?: never;
26264
27504
  header?: never;
26265
27505
  path?: never;
26266
27506
  cookie?: never;
26267
27507
  };
26268
- /** Get all users that friend requests with targetUserId using exclusive start paging */
27508
+ /** Get all incoming trusted friend requests using exclusive start paging. */
26269
27509
  get: {
26270
27510
  parameters: {
26271
27511
  query?: {
@@ -26273,9 +27513,8 @@ export interface paths {
26273
27513
  limit?: number;
26274
27514
  /** @description The paging cursor for the previous or next page. */
26275
27515
  cursor?: string;
26276
- /** @description Optional session identifier. */
26277
- sessionId?: string;
26278
- friendRequestSort?: 0 | 1 | 2;
27516
+ /** @description Specifies how to sort the returned trusted friend requests. */
27517
+ sortOrder?: 0 | 1;
26279
27518
  };
26280
27519
  header?: never;
26281
27520
  path?: never;
@@ -26289,8 +27528,8 @@ export interface paths {
26289
27528
  [name: string]: unknown;
26290
27529
  };
26291
27530
  content: {
26292
- "application/json": components["schemas"]["Roblox.Web.WebAPI.Models.ApiPageResponse_Roblox.Friends.Api.FriendRequestResponse_"];
26293
- "text/json": components["schemas"]["Roblox.Web.WebAPI.Models.ApiPageResponse_Roblox.Friends.Api.FriendRequestResponse_"];
27531
+ "application/json": components["schemas"]["Roblox.Web.WebAPI.Models.ApiPageResponse_Roblox.Friends.Api.Models.Response.TrustedFriendRequestResponse_"];
27532
+ "text/json": components["schemas"]["Roblox.Web.WebAPI.Models.ApiPageResponse_Roblox.Friends.Api.Models.Response.TrustedFriendRequestResponse_"];
26294
27533
  };
26295
27534
  };
26296
27535
  /**
@@ -26337,95 +27576,6 @@ export interface paths {
26337
27576
  patch?: never;
26338
27577
  trace?: never;
26339
27578
  };
26340
- "/v1/my/friends/{userId}/check-qr-session": {
26341
- parameters: {
26342
- query?: never;
26343
- header?: never;
26344
- path?: never;
26345
- cookie?: never;
26346
- };
26347
- get: {
26348
- parameters: {
26349
- query?: never;
26350
- header?: never;
26351
- path: {
26352
- /** @description user Id that shows the qr code */
26353
- userId: number;
26354
- };
26355
- cookie?: never;
26356
- };
26357
- requestBody?: never;
26358
- responses: {
26359
- /** @description OK */
26360
- 200: {
26361
- headers: {
26362
- [name: string]: unknown;
26363
- };
26364
- content: {
26365
- "application/json": boolean;
26366
- "text/json": boolean;
26367
- };
26368
- };
26369
- /** @description 0: Authorization has been denied for this request. */
26370
- 401: {
26371
- headers: {
26372
- [name: string]: unknown;
26373
- };
26374
- content?: never;
26375
- };
26376
- };
26377
- };
26378
- put?: never;
26379
- post?: never;
26380
- delete?: never;
26381
- options?: never;
26382
- head?: never;
26383
- patch?: never;
26384
- trace?: never;
26385
- };
26386
- "/v1/my/new-friend-requests/count": {
26387
- parameters: {
26388
- query?: never;
26389
- header?: never;
26390
- path?: never;
26391
- cookie?: never;
26392
- };
26393
- get: {
26394
- parameters: {
26395
- query?: never;
26396
- header?: never;
26397
- path?: never;
26398
- cookie?: never;
26399
- };
26400
- requestBody?: never;
26401
- responses: {
26402
- /** @description OK */
26403
- 200: {
26404
- headers: {
26405
- [name: string]: unknown;
26406
- };
26407
- content: {
26408
- "application/json": components["schemas"]["Roblox.Friends.Api.Models.Response.NewFriendRequestsCountResponse"];
26409
- "text/json": components["schemas"]["Roblox.Friends.Api.Models.Response.NewFriendRequestsCountResponse"];
26410
- };
26411
- };
26412
- /** @description 0: Authorization has been denied for this request. */
26413
- 401: {
26414
- headers: {
26415
- [name: string]: unknown;
26416
- };
26417
- content?: never;
26418
- };
26419
- };
26420
- };
26421
- put?: never;
26422
- post?: never;
26423
- delete?: never;
26424
- options?: never;
26425
- head?: never;
26426
- patch?: never;
26427
- trace?: never;
26428
- };
26429
27579
  "/v1/name-description/games/translation-history": {
26430
27580
  parameters: {
26431
27581
  query?: never;
@@ -27746,7 +28896,7 @@ export interface paths {
27746
28896
  path?: never;
27747
28897
  cookie?: never;
27748
28898
  };
27749
- get: operations["PrivateServersApi.PrivateServers_GetMyPrivateServers"];
28899
+ get: operations["PrivateServers_GetMyPrivateServers"];
27750
28900
  put?: never;
27751
28901
  post?: never;
27752
28902
  delete?: never;
@@ -30613,7 +31763,9 @@ export interface paths {
30613
31763
  paymentSourceType?: 1 | 2;
30614
31764
  /**
30615
31765
  * Format: binary
30616
- * @description The badge icon.
31766
+ * @description The badge icon. Optional: when omitted and a curated default badge icon is configured on
31767
+ * the service, the badge is created with that default icon. When provided, exactly one file
31768
+ * must be supplied.
30617
31769
  */
30618
31770
  files?: string;
30619
31771
  /**
@@ -30836,6 +31988,183 @@ export interface paths {
30836
31988
  };
30837
31989
  trace?: never;
30838
31990
  };
31991
+ "/v1/universes/{universeId}/configuration/playtesters": {
31992
+ parameters: {
31993
+ query?: never;
31994
+ header?: never;
31995
+ path?: never;
31996
+ cookie?: never;
31997
+ };
31998
+ /** Get the list of playtesters for an owned universe. */
31999
+ get: {
32000
+ parameters: {
32001
+ query?: never;
32002
+ header?: never;
32003
+ path: {
32004
+ /** @description The universe Id. */
32005
+ universeId: number;
32006
+ };
32007
+ cookie?: never;
32008
+ };
32009
+ requestBody?: never;
32010
+ responses: {
32011
+ /** @description OK */
32012
+ 200: {
32013
+ headers: {
32014
+ [name: string]: unknown;
32015
+ };
32016
+ content: {
32017
+ "application/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersResponse"];
32018
+ "text/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersResponse"];
32019
+ };
32020
+ };
32021
+ /** @description 1: The universe does not exist. */
32022
+ 400: {
32023
+ headers: {
32024
+ [name: string]: unknown;
32025
+ };
32026
+ content?: never;
32027
+ };
32028
+ /** @description 0: Authorization has been denied for this request. */
32029
+ 401: {
32030
+ headers: {
32031
+ [name: string]: unknown;
32032
+ };
32033
+ content?: never;
32034
+ };
32035
+ /** @description 2: You are not authorized to configure this universe. */
32036
+ 403: {
32037
+ headers: {
32038
+ [name: string]: unknown;
32039
+ };
32040
+ content?: never;
32041
+ };
32042
+ };
32043
+ };
32044
+ put?: never;
32045
+ /** Add playtesters to an owned universe. Existing ids are ignored (additive union). */
32046
+ post: {
32047
+ parameters: {
32048
+ query?: never;
32049
+ header?: never;
32050
+ path: {
32051
+ /** @description The universe Id. */
32052
+ universeId: number;
32053
+ };
32054
+ cookie?: never;
32055
+ };
32056
+ /** @description The playtesters to add. */
32057
+ requestBody: {
32058
+ content: {
32059
+ "application/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersRequest"];
32060
+ "text/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersRequest"];
32061
+ };
32062
+ };
32063
+ responses: {
32064
+ /** @description OK */
32065
+ 200: {
32066
+ headers: {
32067
+ [name: string]: unknown;
32068
+ };
32069
+ content: {
32070
+ "application/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersResponse"];
32071
+ "text/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersResponse"];
32072
+ };
32073
+ };
32074
+ /**
32075
+ * @description 1: The universe does not exist.
32076
+ * 48: The playtesters list is missing or empty.
32077
+ * 49: Too many playtesters were specified in a single request.
32078
+ */
32079
+ 400: {
32080
+ headers: {
32081
+ [name: string]: unknown;
32082
+ };
32083
+ content?: never;
32084
+ };
32085
+ /** @description 0: Authorization has been denied for this request. */
32086
+ 401: {
32087
+ headers: {
32088
+ [name: string]: unknown;
32089
+ };
32090
+ content?: never;
32091
+ };
32092
+ /**
32093
+ * @description 0: Token Validation Failed
32094
+ * 2: You are not authorized to configure this universe.
32095
+ */
32096
+ 403: {
32097
+ headers: {
32098
+ [name: string]: unknown;
32099
+ };
32100
+ content?: never;
32101
+ };
32102
+ };
32103
+ };
32104
+ /** Remove playtesters from an owned universe. */
32105
+ delete: {
32106
+ parameters: {
32107
+ query?: never;
32108
+ header?: never;
32109
+ path: {
32110
+ /** @description The universe Id. */
32111
+ universeId: number;
32112
+ };
32113
+ cookie?: never;
32114
+ };
32115
+ /** @description The playtesters to remove. */
32116
+ requestBody: {
32117
+ content: {
32118
+ "application/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersRequest"];
32119
+ "text/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersRequest"];
32120
+ };
32121
+ };
32122
+ responses: {
32123
+ /** @description OK */
32124
+ 200: {
32125
+ headers: {
32126
+ [name: string]: unknown;
32127
+ };
32128
+ content: {
32129
+ "application/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersResponse"];
32130
+ "text/json": components["schemas"]["Roblox.Api.Develop.Models.PlaytestersResponse"];
32131
+ };
32132
+ };
32133
+ /**
32134
+ * @description 1: The universe does not exist.
32135
+ * 48: The playtesters list is missing or empty.
32136
+ * 49: Too many playtesters were specified in a single request.
32137
+ */
32138
+ 400: {
32139
+ headers: {
32140
+ [name: string]: unknown;
32141
+ };
32142
+ content?: never;
32143
+ };
32144
+ /** @description 0: Authorization has been denied for this request. */
32145
+ 401: {
32146
+ headers: {
32147
+ [name: string]: unknown;
32148
+ };
32149
+ content?: never;
32150
+ };
32151
+ /**
32152
+ * @description 0: Token Validation Failed
32153
+ * 2: You are not authorized to configure this universe.
32154
+ */
32155
+ 403: {
32156
+ headers: {
32157
+ [name: string]: unknown;
32158
+ };
32159
+ content?: never;
32160
+ };
32161
+ };
32162
+ };
32163
+ options?: never;
32164
+ head?: never;
32165
+ patch?: never;
32166
+ trace?: never;
32167
+ };
30839
32168
  "/v1/universes/{universeId}/configuration/vip-servers": {
30840
32169
  parameters: {
30841
32170
  query?: never;
@@ -32217,6 +33546,50 @@ export interface paths {
32217
33546
  patch?: never;
32218
33547
  trace?: never;
32219
33548
  };
33549
+ "/v1/user/trusted-friend-requests/count": {
33550
+ parameters: {
33551
+ query?: never;
33552
+ header?: never;
33553
+ path?: never;
33554
+ cookie?: never;
33555
+ };
33556
+ /** Return the number of pending trusted friend requests. */
33557
+ get: {
33558
+ parameters: {
33559
+ query?: never;
33560
+ header?: never;
33561
+ path?: never;
33562
+ cookie?: never;
33563
+ };
33564
+ requestBody?: never;
33565
+ responses: {
33566
+ /** @description OK */
33567
+ 200: {
33568
+ headers: {
33569
+ [name: string]: unknown;
33570
+ };
33571
+ content: {
33572
+ "application/json": components["schemas"]["Roblox.Friends.Api.PendingFriendRequestCountModel"];
33573
+ "text/json": components["schemas"]["Roblox.Friends.Api.PendingFriendRequestCountModel"];
33574
+ };
33575
+ };
33576
+ /** @description 0: Authorization has been denied for this request. */
33577
+ 401: {
33578
+ headers: {
33579
+ [name: string]: unknown;
33580
+ };
33581
+ content?: never;
33582
+ };
33583
+ };
33584
+ };
33585
+ put?: never;
33586
+ post?: never;
33587
+ delete?: never;
33588
+ options?: never;
33589
+ head?: never;
33590
+ patch?: never;
33591
+ trace?: never;
33592
+ };
32220
33593
  "/v1/user/universes": {
32221
33594
  parameters: {
32222
33595
  query?: never;
@@ -37609,7 +38982,7 @@ export interface paths {
37609
38982
  path?: never;
37610
38983
  cookie?: never;
37611
38984
  };
37612
- get: operations["PrivateServers_GetMyPrivateServers"];
38985
+ get: operations["PrivateServersApi.PrivateServers_GetMyPrivateServers"];
37613
38986
  put?: never;
37614
38987
  post?: never;
37615
38988
  delete?: never;
@@ -42887,6 +44260,9 @@ export interface components {
42887
44260
  */
42888
44261
  collectionName?: string | null;
42889
44262
  } | null;
44263
+ CreateThumbnailPersonalizationRequest: {
44264
+ homepageThumbnailIds: string[];
44265
+ };
42890
44266
  /** @description The context of creation that is not part of the asset content, such as metadata and creator information. Required for [Create Asset](#POST-v1-assets). */
42891
44267
  CreationContext: {
42892
44268
  /** @description Desired privacy setting for the asset on creation. Only applies to asset types that support privacy override. */
@@ -43509,7 +44885,7 @@ export interface components {
43509
44885
  * @description Enum describing the different available filter fields.
43510
44886
  * @enum {string}
43511
44887
  */
43512
- FilterField: "EngineVersion" | "ALL";
44888
+ FilterField: "EngineVersion" | "PlaceVersion" | "ALL";
43513
44889
  /** @description Describes the metadata and available values for a single filter field. */
43514
44890
  FilterFieldInfo: {
43515
44891
  /** @description The technical name of the field. */
@@ -43536,6 +44912,10 @@ export interface components {
43536
44912
  * @enum {string}
43537
44913
  */
43538
44914
  FilterType: "String" | "Number";
44915
+ FindThumbnailsResponse: {
44916
+ homepageThumbnails: components["schemas"]["HomepageThumbnail"][];
44917
+ nextCursor?: string | null;
44918
+ };
43539
44919
  /**
43540
44920
  * @description Represents metadata about the long-running operation corresponding to a
43541
44921
  * FlushMemoryStore request.
@@ -43677,26 +45057,6 @@ export interface components {
43677
45057
  */
43678
45058
  rateLimitedCount?: number;
43679
45059
  };
43680
- GameServerResponse: {
43681
- /** Format: uuid */
43682
- id?: string | null;
43683
- /** Format: int32 */
43684
- maxPlayers?: number;
43685
- /** Format: int32 */
43686
- playing?: number;
43687
- playerTokens?: string[] | null;
43688
- players?: components["schemas"]["PrivateServerPlayerResponse"][] | null;
43689
- /** Format: double */
43690
- fps?: number;
43691
- /** Format: int32 */
43692
- ping?: number;
43693
- name?: string | null;
43694
- /** Format: int64 */
43695
- vipServerId?: number | null;
43696
- /** Format: uuid */
43697
- accessCode?: string | null;
43698
- owner?: components["schemas"]["VerifiedBadgeUserResponse"] | null;
43699
- };
43700
45060
  GameUpdateStatus: {
43701
45061
  /** Format: uuid */
43702
45062
  id?: string;
@@ -43848,7 +45208,7 @@ export interface components {
43848
45208
  placeVersions?: components["schemas"]["PlaceVersion"][] | null;
43849
45209
  };
43850
45210
  GetPrivateServerListResponse: {
43851
- data?: components["schemas"]["GameServerResponse"][] | null;
45211
+ data?: components["schemas"]["PrivateServersApi.GameServerResponse"][] | null;
43852
45212
  previousPageCursor?: string | null;
43853
45213
  nextPageCursor?: string | null;
43854
45214
  gameJoinRestricted?: boolean;
@@ -44385,17 +45745,16 @@ export interface components {
44385
45745
  */
44386
45746
  bypassSlowMode?: boolean;
44387
45747
  };
44388
- "GroupsApi.Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Platform.Assets.AssetType_": {
45748
+ HomepageThumbnail: {
45749
+ homepageThumbnailId: string;
44389
45750
  /** Format: int64 */
44390
- id?: number;
44391
- /**
44392
- * Format: int32
44393
- * @description ['Image' = 1, 'TShirt' = 2, 'Audio' = 3, 'Mesh' = 4, 'Lua' = 5, 'HTML' = 6, 'Text' = 7, 'Hat' = 8, 'Place' = 9, 'Model' = 10, 'Shirt' = 11, 'Pants' = 12, 'Decal' = 13, 'Avatar' = 16, 'Head' = 17, 'Face' = 18, 'Gear' = 19, 'Badge' = 21, 'GroupEmblem' = 22, 'Animation' = 24, 'Arms' = 25, 'Legs' = 26, 'Torso' = 27, 'RightArm' = 28, 'LeftArm' = 29, 'LeftLeg' = 30, 'RightLeg' = 31, 'Package' = 32, 'YouTubeVideo' = 33, 'GamePass' = 34, 'App' = 35, 'Code' = 37, 'Plugin' = 38, 'SolidModel' = 39, 'MeshPart' = 40, 'HairAccessory' = 41, 'FaceAccessory' = 42, 'NeckAccessory' = 43, 'ShoulderAccessory' = 44, 'FrontAccessory' = 45, 'BackAccessory' = 46, 'WaistAccessory' = 47, 'ClimbAnimation' = 48, 'DeathAnimation' = 49, 'FallAnimation' = 50, 'IdleAnimation' = 51, 'JumpAnimation' = 52, 'RunAnimation' = 53, 'SwimAnimation' = 54, 'WalkAnimation' = 55, 'PoseAnimation' = 56, 'LocalizationTableManifest' = 59, 'LocalizationTableTranslation' = 60, 'EmoteAnimation' = 61, 'Video' = 62, 'TexturePack' = 63, 'TShirtAccessory' = 64, 'ShirtAccessory' = 65, 'PantsAccessory' = 66, 'JacketAccessory' = 67, 'SweaterAccessory' = 68, 'ShortsAccessory' = 69, 'LeftShoeAccessory' = 70, 'RightShoeAccessory' = 71, 'DressSkirtAccessory' = 72, 'FontFamily' = 73, 'FontFace' = 74, 'MeshHiddenSurfaceRemoval' = 75, 'EyebrowAccessory' = 76, 'EyelashAccessory' = 77, 'MoodAnimation' = 78, 'DynamicHead' = 79, 'CodeSnippet' = 80, 'AdsVideo' = 81, 'OtaUpdate' = 82, 'Screenshot' = 83, 'RuntimePropertySet' = 84, 'StorePreviewVideo' = 85, 'GamePreviewVideo' = 86, 'CreatorExperienceConfig' = 87, 'FaceMakeup' = 88, 'LipMakeup' = 89, 'EyeMakeup' = 90, 'VoxelFragment' = 91, 'AvatarBackground' = 92, 'TextDocument' = 93, 'Post' = 94]
44394
- * @enum {integer}
44395
- */
44396
- type?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 17 | 18 | 19 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94;
44397
- name?: string;
45751
+ assetId: number;
45752
+ moderationStatus: components["schemas"]["ThumbnailPersonalizationApi.ModerationStatus"];
45753
+ personalizedConfigStatus: components["schemas"]["PersonalizedConfigStatus"];
45754
+ homepageThumbnailStatus: components["schemas"]["HomepageThumbnailStatus"];
44398
45755
  };
45756
+ /** @enum {string} */
45757
+ HomepageThumbnailStatus: "Active" | "Spammy";
44399
45758
  HttpContent: {
44400
45759
  readonly headers?: components["schemas"]["StringStringIEnumerableKeyValuePair"][] | null;
44401
45760
  };
@@ -46025,6 +47384,8 @@ export interface components {
46025
47384
  /** @description The name of the entry. */
46026
47385
  readonly id?: string;
46027
47386
  };
47387
+ /** @enum {string} */
47388
+ PersonalizedConfigStatus: "Active" | "Inactive";
46028
47389
  /** @description Represents a Roblox place. */
46029
47390
  Place: {
46030
47391
  /**
@@ -46436,6 +47797,26 @@ export interface components {
46436
47797
  PrivateServerVoiceSettingsResponse: {
46437
47798
  enabled?: boolean;
46438
47799
  };
47800
+ "PrivateServersApi.GameServerResponse": {
47801
+ /** Format: uuid */
47802
+ id?: string | null;
47803
+ /** Format: int32 */
47804
+ maxPlayers?: number;
47805
+ /** Format: int32 */
47806
+ playing?: number;
47807
+ playerTokens?: string[] | null;
47808
+ players?: components["schemas"]["PrivateServerPlayerResponse"][] | null;
47809
+ /** Format: double */
47810
+ fps?: number;
47811
+ /** Format: int32 */
47812
+ ping?: number;
47813
+ name?: string | null;
47814
+ /** Format: int64 */
47815
+ vipServerId?: number | null;
47816
+ /** Format: uuid */
47817
+ accessCode?: string | null;
47818
+ owner?: components["schemas"]["VerifiedBadgeUserResponse"] | null;
47819
+ };
46439
47820
  /** @enum {string} */
46440
47821
  "PrivateServersApi.SortOrder": "Asc" | "Desc";
46441
47822
  PrivateServersEnabledInUniverseResponse: {
@@ -48182,6 +49563,10 @@ export interface components {
48182
49563
  };
48183
49564
  /** @description The result of various checks for a user's eligibility to activate a given universe from private to public. */
48184
49565
  "Roblox.Api.Develop.Models.ActivationEligibilityResponse": {
49566
+ /**
49567
+ * @description The overall result of activation eligibility. This requires the user publish gate
49568
+ * and either a maturity rating or an intact Build seal.
49569
+ */
48185
49570
  isEligible?: boolean;
48186
49571
  /** @description Whether the place has an active content maturity rating or not. */
48187
49572
  maturityRated?: boolean;
@@ -48206,6 +49591,105 @@ export interface components {
48206
49591
  creatorTier?: 0 | 1 | 2 | 3 | 4;
48207
49592
  /** @description Audiences the universe is allowed to be published to. */
48208
49593
  allowedAudiences?: (0 | 1 | 2 | 3 | 4)[];
49594
+ /**
49595
+ * @description Whether the universe has a provisional rating via a Build seal in Content Catalog.
49596
+ * When true, the universe is eligible for activation even without a full maturity questionnaire.
49597
+ */
49598
+ provisionalRatingAllowed?: boolean;
49599
+ provisionalRating?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse"];
49600
+ };
49601
+ /** @description The complete build-generated rating preview returned by Experience Guidelines. */
49602
+ "Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse": {
49603
+ ageRecommendationDetails?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.AgeRecommendationDetailsModel"];
49604
+ /** @description Country-specific restrictions produced by the preview. */
49605
+ restrictedCountries?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.RestrictedCountryModel"][];
49606
+ };
49607
+ /** @description Age range for a descriptor usage. */
49608
+ "Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.AgeRangeModel": {
49609
+ /**
49610
+ * Format: int32
49611
+ * @description Inclusive minimum age.
49612
+ */
49613
+ minAgeInclusive?: number;
49614
+ /**
49615
+ * Format: int32
49616
+ * @description Inclusive maximum age.
49617
+ */
49618
+ maxAgeInclusive?: number;
49619
+ };
49620
+ /** @description Age recommendation details. */
49621
+ "Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.AgeRecommendationDetailsModel": {
49622
+ ageRecommendationSummary?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.AgeRecommendationSummaryModel"];
49623
+ /** @description Descriptor usages that contributed to the recommendation. */
49624
+ experienceDescriptorUsages?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.ExperienceDescriptorUsageModel"][];
49625
+ };
49626
+ /** @description Age recommendation. */
49627
+ "Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.AgeRecommendationModel": {
49628
+ /** @description Localized display name. */
49629
+ displayName?: string;
49630
+ /**
49631
+ * Format: int32
49632
+ * @description Minimum recommended age.
49633
+ */
49634
+ minimumAge?: number;
49635
+ /** @description Localized short display name including the maturity header. */
49636
+ displayNameWithHeaderShort?: string;
49637
+ /** @description Localized minimum-age display value. */
49638
+ minimumAgeDisplay?: string;
49639
+ /** @description Explicit content maturity value. */
49640
+ contentMaturity?: string;
49641
+ /** @description IGRS rating enum name, when present. */
49642
+ igrsRating?: string;
49643
+ /** @description Localized IGRS rating display message, when present. */
49644
+ igrsRatingDisplayMessage?: string;
49645
+ };
49646
+ /** @description Age recommendation summary. */
49647
+ "Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.AgeRecommendationSummaryModel": {
49648
+ ageRecommendation?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.AgeRecommendationModel"];
49649
+ };
49650
+ /** @description Descriptor dimension usage. */
49651
+ "Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.ExperienceDescriptorDimensionUsageModel": {
49652
+ /** @description Dimension name. */
49653
+ dimensionName?: string;
49654
+ /** @description Dimension value. */
49655
+ dimensionValue?: string;
49656
+ };
49657
+ /** @description Experience descriptor definition. */
49658
+ "Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.ExperienceDescriptorModel": {
49659
+ /** @description Descriptor name. */
49660
+ name?: string;
49661
+ /** @description Localized descriptor display name. */
49662
+ displayName?: string;
49663
+ /** @description Whether the descriptor is supported by the Compliance API. */
49664
+ complianceApiSupported?: boolean;
49665
+ /** @description Descriptor icon URL. */
49666
+ iconUrl?: string;
49667
+ };
49668
+ /** @description A descriptor usage that contributed to a recommendation. */
49669
+ "Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.ExperienceDescriptorUsageModel": {
49670
+ /** @description Descriptor usage name. */
49671
+ name?: string;
49672
+ /** @description Whether this usage follows the Compliance API, when specified. */
49673
+ followsComplianceApi?: boolean;
49674
+ experienceDescriptor?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.ExperienceDescriptorModel"];
49675
+ /** @description Dimensions associated with this usage. */
49676
+ experienceDescriptorDimensionUsages?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.ExperienceDescriptorDimensionUsageModel"][];
49677
+ /** @description Whether the experience contains this descriptor. */
49678
+ contains?: boolean;
49679
+ ageRange?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.AgeRangeModel"];
49680
+ /** @description Localized descriptor display name. */
49681
+ descriptorDisplayName?: string;
49682
+ /** @description Localized age-range display name. */
49683
+ ageRangeDisplayName?: string;
49684
+ };
49685
+ /** @description Country-specific restrictions. */
49686
+ "Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.RestrictedCountryModel": {
49687
+ /** @description ISO country code. */
49688
+ countryCode?: string;
49689
+ /** @description Descriptor usages responsible for the restriction. */
49690
+ experienceDescriptorUsages?: components["schemas"]["Roblox.Api.Develop.Models.BuildGeneratedRatingPreviewResponse.ExperienceDescriptorUsageModel"][];
49691
+ /** @description Localized country display name. */
49692
+ countryDisplayName?: string;
48209
49693
  };
48210
49694
  /** @description Represents a game template in API endpoint responses. */
48211
49695
  "Roblox.Api.Develop.Models.GameTemplateModel": {
@@ -48348,6 +49832,16 @@ export interface components {
48348
49832
  /** @description Returns whether this place is the root place. */
48349
49833
  isRootPlace?: boolean;
48350
49834
  };
49835
+ /** @description Request model for adding or removing playtesters. */
49836
+ "Roblox.Api.Develop.Models.PlaytestersRequest": {
49837
+ /** @description The user ids to add or remove as playtesters for this universe. */
49838
+ playtesters?: number[];
49839
+ };
49840
+ /** @description Response model for playtester list endpoints. */
49841
+ "Roblox.Api.Develop.Models.PlaytestersResponse": {
49842
+ /** @description The user ids that are playtesters for this universe. */
49843
+ playtesters?: number[];
49844
+ };
48351
49845
  /** @description Model for private server details responses from the UniverseSettings controller. */
48352
49846
  "Roblox.Api.Develop.Models.PrivateServerDetailsResponse": {
48353
49847
  /** @description Whether or not VIP servers are enabled on this universe. */
@@ -48757,9 +50251,10 @@ export interface components {
48757
50251
  demoModeEnabled?: boolean;
48758
50252
  /**
48759
50253
  * Format: date-time
48760
- * @description When demo mode was last toggled. For client-side throttle UX.
50254
+ * @description The earliest time at which demo mode can be toggled again (ISO 8601).
50255
+ * Null when no cooldown is active (i.e. demo mode can be changed immediately).
48761
50256
  */
48762
- demoModeLastChangedTime?: string;
50257
+ demoModeChangeableAfter?: string;
48763
50258
  };
48764
50259
  /** @description Model for UniverseSettings controller responses */
48765
50260
  "Roblox.Api.Develop.Models.UniverseSettingsResponseV2": {
@@ -48859,9 +50354,10 @@ export interface components {
48859
50354
  demoModeEnabled?: boolean;
48860
50355
  /**
48861
50356
  * Format: date-time
48862
- * @description When demo mode was last toggled. For client-side throttle UX.
50357
+ * @description The earliest time at which demo mode can be toggled again (ISO 8601).
50358
+ * Null when no cooldown is active (i.e. demo mode can be changed immediately).
48863
50359
  */
48864
- demoModeLastChangedTime?: string;
50360
+ demoModeChangeableAfter?: string;
48865
50361
  };
48866
50362
  /** @description Team create settings of a universe */
48867
50363
  "Roblox.Api.Develop.Models.UniverseTeamCreateSettingsModel": {
@@ -49102,16 +50598,6 @@ export interface components {
49102
50598
  */
49103
50599
  platform?: "ChromeOnDesktop" | "AndroidNative" | "FirefoxOnDesktop" | "IOSNative" | "AndroidAmazon" | "IOSTencent" | "AndroidTencentService" | "IOSPushKit";
49104
50600
  };
49105
- /** @description An asset piece of metadata. */
49106
- "Roblox.AssetDelivery.Api.AssetMetadata": {
49107
- /**
49108
- * Format: int32
49109
- * @description Asset metadata type. ['UncompressedSize' = 1]
49110
- * @enum {integer}
49111
- */
49112
- metadataType?: 1;
49113
- value?: string;
49114
- };
49115
50601
  /** @description The result of being awarded a badge. */
49116
50602
  "Roblox.Badges.Api.BadgeAwardResponse": {
49117
50603
  /**
@@ -49154,6 +50640,12 @@ export interface components {
49154
50640
  * @description The max length for a badge description.
49155
50641
  */
49156
50642
  maxBadgeDescriptionLength?: number;
50643
+ /**
50644
+ * Format: int64
50645
+ * @description The asset ID of the curated default badge icon used when a badge is created without an
50646
+ * uploaded icon file, or `0` when the default badge icon feature is disabled.
50647
+ */
50648
+ defaultBadgeIconImageId?: number;
49157
50649
  };
49158
50650
  /** @description A response containing badge information. */
49159
50651
  "Roblox.Badges.Api.BadgeResponse": {
@@ -50223,6 +51715,19 @@ export interface components {
50223
51715
  "Roblox.Friends.Api.Models.Response.RefreshQrSessionResponse": {
50224
51716
  Success?: boolean;
50225
51717
  };
51718
+ /** @description A response model representing a friend request. */
51719
+ "Roblox.Friends.Api.Models.Response.TrustedFriendRequestResponse": {
51720
+ /**
51721
+ * Format: date-time
51722
+ * @description When the TF request was sent.
51723
+ */
51724
+ sentAt?: string;
51725
+ /**
51726
+ * Format: int64
51727
+ * @description The sender user Id.
51728
+ */
51729
+ senderId?: number;
51730
+ };
50226
51731
  /** @description A response model representing user presence information. */
50227
51732
  "Roblox.Friends.Api.Models.Response.UserPresenceResponse": {
50228
51733
  userPresence?: components["schemas"]["Roblox.Friends.Api.Models.Response.UserPresenceResponseModel"];
@@ -51539,6 +53044,7 @@ export interface components {
51539
53044
  * (determines if "Followers" vs "Members" should be shown).
51540
53045
  */
51541
53046
  hasSocialModules?: boolean;
53047
+ communityTier?: components["schemas"]["Roblox.Groups.Client.CommunityTierInfoResponse"];
51542
53048
  };
51543
53049
  /** @description A model representing data about an Roblox.Platform.Membership.IUser */
51544
53050
  "Roblox.Groups.Api.GroupEconomyPermissionsModel": {
@@ -51592,6 +53098,11 @@ export interface components {
51592
53098
  createComments?: boolean;
51593
53099
  /** @description Remove comments permission */
51594
53100
  removeComments?: boolean;
53101
+ /**
53102
+ * @description Create bug reports (support ticket) permission. Only emitted when the permission is exposed
53103
+ * (Roblox.Groups.Api.Properties.IGroupsApiSettings.ExposeCreateBugReportsPermission).
53104
+ */
53105
+ createBugReports?: boolean;
51595
53106
  };
51596
53107
  /** @description Response model for a group join request */
51597
53108
  "Roblox.Groups.Api.GroupJoinRequestResponse": {
@@ -51951,6 +53462,7 @@ export interface components {
51951
53462
  * Null when the value could not be determined.
51952
53463
  */
51953
53464
  isAutoAssignRoleDisabled?: boolean;
53465
+ communityTier?: components["schemas"]["Roblox.Groups.Client.CommunityTierInfoResponse"];
51954
53466
  };
51955
53467
  /** @description A group roles response model */
51956
53468
  "Roblox.Groups.Api.GroupsDisplayOptionsResponse": {
@@ -52062,7 +53574,7 @@ export interface components {
52062
53574
  /** @description The game description. */
52063
53575
  description?: string;
52064
53576
  creator?: components["schemas"]["Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Platform.Core.CreatorType_"];
52065
- rootPlace?: components["schemas"]["GroupsApi.Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Platform.Assets.AssetType_"];
53577
+ rootPlace?: components["schemas"]["Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Platform.Assets.AssetType_"];
52066
53578
  /**
52067
53579
  * Format: date-time
52068
53580
  * @description When the game was created.
@@ -52168,10 +53680,6 @@ export interface components {
52168
53680
  */
52169
53681
  maxPayoutPartners?: number;
52170
53682
  };
52171
- "Roblox.Groups.Api.RelationshipsRequest": {
52172
- /** @description The group ids being either accepted or declined */
52173
- GroupIds?: number[];
52174
- };
52175
53683
  /** @description A response model for role configuration */
52176
53684
  "Roblox.Groups.Api.RoleConfigurationResponse": {
52177
53685
  /**
@@ -52388,6 +53896,7 @@ export interface components {
52388
53896
  ViewKeywordBlockList?: boolean;
52389
53897
  BypassSlowmode?: boolean;
52390
53898
  ViewCommunityAnalytics?: boolean;
53899
+ CreateBugReports?: boolean;
52391
53900
  };
52392
53901
  };
52393
53902
  /** @description A request model for setting a users role in a group. */
@@ -52429,6 +53938,18 @@ export interface components {
52429
53938
  /** Format: date-time */
52430
53939
  updatedAt?: string;
52431
53940
  };
53941
+ "Roblox.Groups.Client.CommunityTierInfoResponse": {
53942
+ /** Format: int64 */
53943
+ groupId?: number;
53944
+ /** Format: int32 */
53945
+ currentTier?: number;
53946
+ /** Format: int32 */
53947
+ previousTier?: number;
53948
+ /** Format: date-time */
53949
+ tierUpdatedTime?: string;
53950
+ /** Format: date-time */
53951
+ lastEvaluatedTime?: string;
53952
+ };
52432
53953
  "Roblox.Groups.Client.CreateBlockedKeywordsResponse": {
52433
53954
  createdKeywords?: components["schemas"]["Roblox.Groups.Client.BlockedKeywordModel"][];
52434
53955
  hadModeratedKeywords?: boolean;
@@ -52636,7 +54157,7 @@ export interface components {
52636
54157
  collectibleItemInstanceId?: string;
52637
54158
  /** Format: int64 */
52638
54159
  serialNumber?: number;
52639
- owner?: components["schemas"]["Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Agents.AgentType_"];
54160
+ owner?: components["schemas"]["Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Users.Client.AssociatedEntityType_"];
52640
54161
  /** Format: date-time */
52641
54162
  created?: string;
52642
54163
  /** Format: date-time */
@@ -52646,7 +54167,7 @@ export interface components {
52646
54167
  collectibleItemInstanceId?: string;
52647
54168
  /** Format: int64 */
52648
54169
  serialNumber?: number;
52649
- owner?: components["schemas"]["Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Agents.AgentType_"];
54170
+ owner?: components["schemas"]["Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Users.Client.AssociatedEntityType_"];
52650
54171
  };
52651
54172
  /** @description The user asset item model for V2 controllers. */
52652
54173
  "Roblox.Inventory.Api.V2.UserAssetItemModelV2": {
@@ -52711,10 +54232,6 @@ export interface components {
52711
54232
  * @description Date asset was created.
52712
54233
  */
52713
54234
  updated?: string;
52714
- /** @description If the asset is delisted. */
52715
- isDelisted?: boolean;
52716
- /** @description If the asset is part of a bundle. */
52717
- isCreatedForBundle?: boolean;
52718
54235
  };
52719
54236
  /** @description Asset Status response model. */
52720
54237
  "Roblox.ItemConfiguration.Api.AssetCreationsResponse": {
@@ -54299,28 +55816,6 @@ export interface components {
54299
55816
  /** @description A past username belonging to a particular userId */
54300
55817
  name?: string;
54301
55818
  };
54302
- "Roblox.Web.Assets.AssetContentRepresentationSpecifier": {
54303
- format?: string;
54304
- majorVersion?: string;
54305
- fidelity?: string;
54306
- skipGenerationIfNotExist?: boolean;
54307
- };
54308
- "Roblox.Web.Assets.AssetResponseItemV1": {
54309
- location?: string;
54310
- errors?: components["schemas"]["Roblox.Web.Assets.IAssetItemError"][];
54311
- requestId?: string;
54312
- /** @description Whether the asset has been archived. */
54313
- isArchived?: boolean;
54314
- /**
54315
- * Format: int32
54316
- * @description Asset Type.
54317
- */
54318
- assetTypeId?: number;
54319
- contentRepresentationSpecifier?: components["schemas"]["Roblox.Web.Assets.AssetContentRepresentationSpecifier"];
54320
- assetMetadatas?: components["schemas"]["Roblox.AssetDelivery.Api.AssetMetadata"][];
54321
- /** @description Whether the asset is recordable in screen recordings. */
54322
- isRecordable?: boolean;
54323
- };
54324
55819
  "Roblox.Web.Assets.BatchAssetRequestItem": {
54325
55820
  assetName?: string;
54326
55821
  assetType?: string;
@@ -54355,17 +55850,6 @@ export interface components {
54355
55850
  contentRepresentationPriorityList?: string;
54356
55851
  doNotFallbackToBaselineRepresentation?: boolean;
54357
55852
  };
54358
- "Roblox.Web.Assets.IAssetItemError": {
54359
- /** Format: int32 */
54360
- Code?: number;
54361
- Message?: string;
54362
- /**
54363
- * Format: int32
54364
- * @description Custom error code for Roblox.Web.Assets.IAssetItemError ['UnknownError' = 0, 'NoPermissionToAsset' = 1, 'AssetPermissionCheckFailed' = 2, 'NotAuthorizedForAgeRecommendation' = 3, 'AgeRecommendationCheckFailed' = 4, 'InvalidPlaceRequestFromGameServer' = 5, 'BlockedAssetTypeRequestedFromInsertService' = 6, 'BlockedAssetTypeRequestedFromGameServer' = 7, 'AssetTypeMismatch' = 8, 'MissingAssetTypeInRequestHeader' = 9, 'AssetNotTrustedForPlace' = 10, 'NoAuthentication' = 11, 'AssetContentRepresentationBlockedDueToModeration' = 12, 'AssetNotFound' = 13, 'AssetVersionNotFound' = 14, 'AssetContentRepresentationNotFound' = 15, 'BlockedByAgeGeoRestriction' = 16, 'BlockedAssetTypeRequestedFromNonGameServer' = 17, 'AssetPendingReview' = 18, 'NotApprovedForRequestor' = 19, 'NotApprovedByContentCompliance' = 20, 'AssetContentRepresentationGenerating' = 21, 'AssetArchived' = 22, 'AssetUsageNotAllowed' = 23]
54365
- * @enum {integer}
54366
- */
54367
- CustomErrorCode?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23;
54368
- };
54369
55853
  "Roblox.Web.Captcha.Models.Request.CaptchaTokenRequest": {
54370
55854
  captchaId?: string;
54371
55855
  captchaToken?: string;
@@ -54564,48 +56048,48 @@ export interface components {
54564
56048
  */
54565
56049
  updated?: string;
54566
56050
  };
54567
- "Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Agents.AgentType_": {
56051
+ "Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Platform.Assets.AssetType_": {
54568
56052
  /** Format: int64 */
54569
56053
  id?: number;
54570
56054
  /**
54571
56055
  * Format: int32
54572
- * @description ['User' = 1, 'Group' = 2]
56056
+ * @description ['Image' = 1, 'TShirt' = 2, 'Audio' = 3, 'Mesh' = 4, 'Lua' = 5, 'HTML' = 6, 'Text' = 7, 'Hat' = 8, 'Place' = 9, 'Model' = 10, 'Shirt' = 11, 'Pants' = 12, 'Decal' = 13, 'Avatar' = 16, 'Head' = 17, 'Face' = 18, 'Gear' = 19, 'Badge' = 21, 'GroupEmblem' = 22, 'Animation' = 24, 'Arms' = 25, 'Legs' = 26, 'Torso' = 27, 'RightArm' = 28, 'LeftArm' = 29, 'LeftLeg' = 30, 'RightLeg' = 31, 'Package' = 32, 'YouTubeVideo' = 33, 'GamePass' = 34, 'App' = 35, 'Code' = 37, 'Plugin' = 38, 'SolidModel' = 39, 'MeshPart' = 40, 'HairAccessory' = 41, 'FaceAccessory' = 42, 'NeckAccessory' = 43, 'ShoulderAccessory' = 44, 'FrontAccessory' = 45, 'BackAccessory' = 46, 'WaistAccessory' = 47, 'ClimbAnimation' = 48, 'DeathAnimation' = 49, 'FallAnimation' = 50, 'IdleAnimation' = 51, 'JumpAnimation' = 52, 'RunAnimation' = 53, 'SwimAnimation' = 54, 'WalkAnimation' = 55, 'PoseAnimation' = 56, 'LocalizationTableManifest' = 59, 'LocalizationTableTranslation' = 60, 'EmoteAnimation' = 61, 'Video' = 62, 'TexturePack' = 63, 'TShirtAccessory' = 64, 'ShirtAccessory' = 65, 'PantsAccessory' = 66, 'JacketAccessory' = 67, 'SweaterAccessory' = 68, 'ShortsAccessory' = 69, 'LeftShoeAccessory' = 70, 'RightShoeAccessory' = 71, 'DressSkirtAccessory' = 72, 'FontFamily' = 73, 'FontFace' = 74, 'MeshHiddenSurfaceRemoval' = 75, 'EyebrowAccessory' = 76, 'EyelashAccessory' = 77, 'MoodAnimation' = 78, 'DynamicHead' = 79, 'CodeSnippet' = 80, 'AdsVideo' = 81, 'OtaUpdate' = 82, 'Screenshot' = 83, 'RuntimePropertySet' = 84, 'StorePreviewVideo' = 85, 'GamePreviewVideo' = 86, 'CreatorExperienceConfig' = 87, 'FaceMakeup' = 88, 'LipMakeup' = 89, 'EyeMakeup' = 90, 'VoxelFragment' = 91, 'AvatarBackground' = 92, 'TextDocument' = 93, 'Post' = 94]
54573
56057
  * @enum {integer}
54574
56058
  */
54575
- type?: 1 | 2;
56059
+ type?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 17 | 18 | 19 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94;
54576
56060
  name?: string;
54577
56061
  };
54578
- "Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Platform.Assets.AssetType_": {
56062
+ "Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Platform.Badges.BadgeAwarderType_": {
54579
56063
  /** Format: int64 */
54580
56064
  id?: number;
54581
56065
  /**
54582
56066
  * Format: int32
54583
- * @description ['Image' = 1, 'TShirt' = 2, 'Audio' = 3, 'Mesh' = 4, 'Lua' = 5, 'HTML' = 6, 'Text' = 7, 'Hat' = 8, 'Place' = 9, 'Model' = 10, 'Shirt' = 11, 'Pants' = 12, 'Decal' = 13, 'Avatar' = 16, 'Head' = 17, 'Face' = 18, 'Gear' = 19, 'Badge' = 21, 'GroupEmblem' = 22, 'Animation' = 24, 'Arms' = 25, 'Legs' = 26, 'Torso' = 27, 'RightArm' = 28, 'LeftArm' = 29, 'LeftLeg' = 30, 'RightLeg' = 31, 'Package' = 32, 'YouTubeVideo' = 33, 'GamePass' = 34, 'App' = 35, 'Code' = 37, 'Plugin' = 38, 'SolidModel' = 39, 'MeshPart' = 40, 'HairAccessory' = 41, 'FaceAccessory' = 42, 'NeckAccessory' = 43, 'ShoulderAccessory' = 44, 'FrontAccessory' = 45, 'BackAccessory' = 46, 'WaistAccessory' = 47, 'ClimbAnimation' = 48, 'DeathAnimation' = 49, 'FallAnimation' = 50, 'IdleAnimation' = 51, 'JumpAnimation' = 52, 'RunAnimation' = 53, 'SwimAnimation' = 54, 'WalkAnimation' = 55, 'PoseAnimation' = 56, 'LocalizationTableManifest' = 59, 'LocalizationTableTranslation' = 60, 'EmoteAnimation' = 61, 'Video' = 62, 'TexturePack' = 63, 'TShirtAccessory' = 64, 'ShirtAccessory' = 65, 'PantsAccessory' = 66, 'JacketAccessory' = 67, 'SweaterAccessory' = 68, 'ShortsAccessory' = 69, 'LeftShoeAccessory' = 70, 'RightShoeAccessory' = 71, 'DressSkirtAccessory' = 72, 'FontFamily' = 73, 'FontFace' = 74, 'MeshHiddenSurfaceRemoval' = 75, 'EyebrowAccessory' = 76, 'EyelashAccessory' = 77, 'MoodAnimation' = 78, 'DynamicHead' = 79, 'CodeSnippet' = 80, 'AdsVideo' = 81, 'OtaUpdate' = 82, 'Screenshot' = 83, 'RuntimePropertySet' = 84, 'StorePreviewVideo' = 85, 'GamePreviewVideo' = 86, 'CreatorExperienceConfig' = 87, 'FaceMakeup' = 88, 'LipMakeup' = 89, 'EyeMakeup' = 90, 'VoxelFragment' = 91, 'AvatarBackground' = 92, 'TextDocument' = 93]
56067
+ * @description ['Place' = 1]
54584
56068
  * @enum {integer}
54585
56069
  */
54586
- type?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 17 | 18 | 19 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93;
56070
+ type?: 1;
54587
56071
  name?: string;
54588
56072
  };
54589
- "Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Platform.Badges.BadgeAwarderType_": {
56073
+ "Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Platform.Core.CreatorType_": {
54590
56074
  /** Format: int64 */
54591
56075
  id?: number;
54592
56076
  /**
54593
56077
  * Format: int32
54594
- * @description ['Place' = 1]
56078
+ * @description ['User' = 0, 'Group' = 1]
54595
56079
  * @enum {integer}
54596
56080
  */
54597
- type?: 1;
56081
+ type?: 0 | 1;
54598
56082
  name?: string;
54599
56083
  };
54600
- "Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Platform.Core.CreatorType_": {
56084
+ "Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Users.Client.AssociatedEntityType_": {
54601
56085
  /** Format: int64 */
54602
56086
  id?: number;
54603
56087
  /**
54604
56088
  * Format: int32
54605
- * @description ['User' = 0, 'Group' = 1]
56089
+ * @description ['User' = 1, 'Group' = 2]
54606
56090
  * @enum {integer}
54607
56091
  */
54608
- type?: 0 | 1;
56092
+ type?: 1 | 2;
54609
56093
  name?: string;
54610
56094
  };
54611
56095
  "Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Web.Responses.Groups.GroupOwnerType_": {
@@ -54797,6 +56281,11 @@ export interface components {
54797
56281
  nextPageCursor?: string;
54798
56282
  data?: components["schemas"]["Roblox.Friends.Api.FriendRequestResponse"][];
54799
56283
  };
56284
+ "Roblox.Web.WebAPI.Models.ApiPageResponse_Roblox.Friends.Api.Models.Response.TrustedFriendRequestResponse_": {
56285
+ previousPageCursor?: string;
56286
+ nextPageCursor?: string;
56287
+ data?: components["schemas"]["Roblox.Friends.Api.Models.Response.TrustedFriendRequestResponse"][];
56288
+ };
54800
56289
  "Roblox.Web.WebAPI.Models.ApiPageResponse_Roblox.Friends.Api.Models.Response.UserResponse_": {
54801
56290
  previousPageCursor?: string;
54802
56291
  nextPageCursor?: string;
@@ -55165,11 +56654,13 @@ export interface components {
55165
56654
  full?: boolean;
55166
56655
  /** @description Whether the server has been shutdown. */
55167
56656
  shutDown?: boolean;
56657
+ /** @description Creator-visible server status. */
56658
+ status?: components["schemas"]["ServerStatus"];
55168
56659
  /**
55169
- * @description Why the server has been shutdown.
55170
- * Unspecified if ServerManagementService.V2.Models.GameServer.ShutDown is false.
56660
+ * Format: date-time
56661
+ * @description The time the server terminated. Null while ServerManagementService.V2.Models.GameServer.ShutDown is false.
55171
56662
  */
55172
- reasonForShutdown?: components["schemas"]["ShutdownReason"];
56663
+ terminationTime?: string | null;
55173
56664
  /** @description The list of PlayerIds in the server */
55174
56665
  playerIds?: number[] | null;
55175
56666
  };
@@ -55189,10 +56680,20 @@ export interface components {
55189
56680
  previousPageToken?: string | null;
55190
56681
  /**
55191
56682
  * Format: int32
55192
- * @description Total number of game servers that match the filter (across all pages).
55193
- * Omitted if the backend does not provide a total count.
56683
+ * @description Total matching rows across all pages. Combined active+shutdown queries return the sum of
56684
+ * each source total when both are known; omitted when a source failed or omitted its total.
55194
56685
  */
55195
56686
  totalCount?: number | null;
56687
+ /**
56688
+ * @description True when this page includes active rows but shutdown rows could not be fetched.
56689
+ * Results may be a partial slice of the globally ordered combined stream.
56690
+ */
56691
+ shutdownServersFetchError?: boolean | null;
56692
+ /**
56693
+ * @description True when this page includes shutdown rows but active rows could not be fetched.
56694
+ * Results may be a partial slice of the globally ordered combined stream.
56695
+ */
56696
+ activeServersFetchError?: boolean | null;
55196
56697
  };
55197
56698
  "ServerManagementService.ProblemDetails": {
55198
56699
  type?: string | null;
@@ -55220,6 +56721,12 @@ export interface components {
55220
56721
  constantValue?: number | null;
55221
56722
  playerAttribute?: components["schemas"]["MatchmakingAttributeReference"];
55222
56723
  };
56724
+ /**
56725
+ * @description Server status that is visible to creators.
56726
+ * This is derived from the shutdown reason for shutdown rows; it is always "Active" for currently live servers.
56727
+ * @enum {string}
56728
+ */
56729
+ ServerStatus: "active" | "shut_down" | "restarted" | "roblox_restarted" | "crashed" | "out_of_memory" | "moderated";
55223
56730
  /**
55224
56731
  * Format: int32
55225
56732
  * @description Defines the different types of servers
@@ -55286,12 +56793,6 @@ export interface components {
55286
56793
  */
55287
56794
  gameId?: string | null;
55288
56795
  };
55289
- /**
55290
- * Format: int32
55291
- * @description Defines the reason a server was shut down
55292
- * @enum {integer}
55293
- */
55294
- ShutdownReason: 0 | 1 | 2 | 3 | 4 | 5;
55295
56796
  SkinnyUserResponse: {
55296
56797
  /** Format: int64 */
55297
56798
  id?: number;
@@ -55523,6 +57024,8 @@ export interface components {
55523
57024
  */
55524
57025
  reason?: "EXPIRATION_REASON_UNSPECIFIED" | "PRODUCT_INACTIVE" | "PRODUCT_DELETED" | "SUBSCRIBER_CANCELLED" | "SUBSCRIBER_REFUNDED" | "LAPSED";
55525
57026
  };
57027
+ /** @enum {string} */
57028
+ "ThumbnailPersonalizationApi.ModerationStatus": "Reviewing" | "Rejected" | "Approved" | "Unspecified";
55526
57029
  /** @description Representation of an asset. */
55527
57030
  "ToolboxService.Asset": {
55528
57031
  /**
@@ -56088,6 +57591,32 @@ export interface components {
56088
57591
  UpdatePlaceVersionNotesResponse: {
56089
57592
  placeVersion?: components["schemas"]["PlaceVersion"] | null;
56090
57593
  };
57594
+ UpdateThumbnailPersonalizationRequest: {
57595
+ homepageThumbnailIds: string[];
57596
+ id: string;
57597
+ };
57598
+ /**
57599
+ * Format: int32
57600
+ * @enum {integer}
57601
+ */
57602
+ UploadStatus: 1 | 2;
57603
+ UploadThumbnailStatus: {
57604
+ homepageThumbnailId?: string | null;
57605
+ /** Format: int64 */
57606
+ assetId?: number;
57607
+ moderationStatus?: components["schemas"]["ThumbnailPersonalizationApi.ModerationStatus"];
57608
+ };
57609
+ UploadThumbnailsResponse: {
57610
+ fileToOperationIdDict: {
57611
+ [key: string]: string | null;
57612
+ };
57613
+ };
57614
+ UploadThumbnailsStatusResponse: {
57615
+ uploadStatus: components["schemas"]["UploadStatus"];
57616
+ uploadThumbnailStatusDict: {
57617
+ [key: string]: components["schemas"]["UploadThumbnailStatus"];
57618
+ };
57619
+ };
56091
57620
  /** @description Represents any registered user of Roblox. */
56092
57621
  User: {
56093
57622
  /**
@@ -56523,6 +58052,449 @@ export interface components {
56523
58052
  */
56524
58053
  upVotePercent?: number;
56525
58054
  } | null;
58055
+ "internal_public_v1.AdFormat": {
58056
+ /** @description The ad format name. */
58057
+ format?: string;
58058
+ /** @description The format height in pixels. */
58059
+ height?: number;
58060
+ /** @description The format width in pixels. */
58061
+ width?: number;
58062
+ };
58063
+ "internal_public_v1.AdvertisableUniverse": {
58064
+ /**
58065
+ * @description The identifier of an experience the caller can advertise, as a decimal string.
58066
+ * Resolve its name via the Open Cloud Universe API.
58067
+ */
58068
+ universeId?: string;
58069
+ };
58070
+ "internal_public_v1.BatchGetPerformanceRequest": {
58071
+ /** @description The campaign IDs to report on. Required. At most 100 per request. */
58072
+ campaignIds?: string[];
58073
+ /**
58074
+ * @description The reporting window applied to every campaign in the batch. Optional; defaults
58075
+ * to `LAST_7_DAYS`. Can be `TODAY`, `YESTERDAY`, `LAST_7_DAYS`, `LAST_30_DAYS`,
58076
+ * `THIS_MONTH`, `LAST_MONTH`, `YEAR_TO_DATE`, or `PREVIOUS_YEAR`.
58077
+ * @enum {string}
58078
+ */
58079
+ period?: "TODAY" | "YESTERDAY" | "LAST_7_DAYS" | "LAST_30_DAYS" | "THIS_MONTH" | "LAST_MONTH" | "YEAR_TO_DATE" | "PREVIOUS_YEAR";
58080
+ };
58081
+ "internal_public_v1.BatchGetPerformanceResponse": {
58082
+ /** @description The time the metrics were current, as an RFC 3339 UTC timestamp. */
58083
+ dataAsOf?: string;
58084
+ /** @description The last day of the window (inclusive), as YYYY-MM-DD in the account's time zone. */
58085
+ endDate?: string;
58086
+ /** @description The IDs that could not be resolved. Omitted when every ID resolved. */
58087
+ failures?: components["schemas"]["internal_public_v1.CampaignIDFailure"][];
58088
+ /**
58089
+ * @description The reporting window applied to every campaign. Can be `TODAY`, `YESTERDAY`,
58090
+ * `LAST_7_DAYS`, `LAST_30_DAYS`, `THIS_MONTH`, `LAST_MONTH`, `YEAR_TO_DATE`, or `PREVIOUS_YEAR`.
58091
+ * @enum {string}
58092
+ */
58093
+ period?: "TODAY" | "YESTERDAY" | "LAST_7_DAYS" | "LAST_30_DAYS" | "THIS_MONTH" | "LAST_MONTH" | "YEAR_TO_DATE" | "PREVIOUS_YEAR";
58094
+ /** @description One entry per successfully resolved campaign. */
58095
+ results?: components["schemas"]["internal_public_v1.CampaignPerformance"][];
58096
+ /** @description The first day of the window (inclusive), as YYYY-MM-DD in the account's time zone. */
58097
+ startDate?: string;
58098
+ /** @description The IANA time zone the window and metrics are computed in. */
58099
+ timeZone?: string;
58100
+ };
58101
+ "internal_public_v1.BatchGetStatusRequest": {
58102
+ /** @description The campaign IDs to look up. Required. At most 100 per request. */
58103
+ campaignIds?: string[];
58104
+ };
58105
+ "internal_public_v1.BatchGetStatusResponse": {
58106
+ /** @description The IDs that could not be resolved. Omitted when every ID resolved. */
58107
+ failures?: components["schemas"]["internal_public_v1.CampaignIDFailure"][];
58108
+ /** @description One entry per successfully resolved campaign. */
58109
+ statuses?: components["schemas"]["internal_public_v1.CampaignStatus"][];
58110
+ };
58111
+ "internal_public_v1.Bid": {
58112
+ /**
58113
+ * @description The bidding strategy. v1 campaigns are always `AUTOMATED`.
58114
+ * @enum {string}
58115
+ */
58116
+ strategy?: "AUTOMATED";
58117
+ };
58118
+ "internal_public_v1.BillingAccount": {
58119
+ /** @description The time the account was created, as an RFC 3339 UTC timestamp. */
58120
+ createTime?: string;
58121
+ /** @description The human-readable name of the account. */
58122
+ displayName?: string;
58123
+ /** @description The unique identifier of the billing account. Use it as the {id} path parameter. */
58124
+ id?: string;
58125
+ /** @description The identifier of the organization that owns the account. */
58126
+ organizationId?: string;
58127
+ /**
58128
+ * @description The current state of the account. Can be `ACTIVE`, `DISABLED`, or `ARCHIVED`.
58129
+ * @enum {string}
58130
+ */
58131
+ status?: "ACTIVE" | "DISABLED" | "ARCHIVED";
58132
+ /**
58133
+ * @description The IANA time zone the account's reporting dates and budget schedules are
58134
+ * interpreted in. Example: `America/Los_Angeles`.
58135
+ */
58136
+ timeZone?: string;
58137
+ /**
58138
+ * @description The account category. External advertisers are always SELF_SERVICE; MANAGED and
58139
+ * INTERNAL are Roblox-operated accounts. Can be `SELF_SERVICE`, `MANAGED`, or `INTERNAL`.
58140
+ * @enum {string}
58141
+ */
58142
+ type?: "SELF_SERVICE" | "MANAGED" | "INTERNAL";
58143
+ /** @description The time the account was last updated, as an RFC 3339 UTC timestamp. */
58144
+ updateTime?: string;
58145
+ };
58146
+ "internal_public_v1.Budget": {
58147
+ /**
58148
+ * @description The budget amount in micro-USD, as a decimal string (for example, `5000000` =
58149
+ * $5.00). Money is sent and returned as a string so large values keep full
58150
+ * precision in every client. On a request it must be a numeric string of micro-USD.
58151
+ */
58152
+ amountMicros?: string;
58153
+ /**
58154
+ * @description The queued lower budget for a pending decrease, in micro-USD as a decimal string
58155
+ * (same format as amountMicros). A budget increase takes effect immediately, but a
58156
+ * decrease on a running campaign is applied at the next midnight in the account's
58157
+ * time zone; until then the campaign keeps serving on amountMicros (the current,
58158
+ * higher budget). Omitted when no decrease is pending.
58159
+ */
58160
+ scheduledAmountMicros?: string;
58161
+ /**
58162
+ * @description The time a pending budget decrease takes effect, as an RFC 3339 UTC timestamp.
58163
+ * Omitted when no decrease is pending.
58164
+ */
58165
+ scheduledEffectiveTime?: string;
58166
+ /**
58167
+ * @description The budget cadence. Fixed when the campaign is created. Can be `DAILY` or `LIFETIME`.
58168
+ * @enum {string}
58169
+ */
58170
+ type?: "DAILY" | "LIFETIME";
58171
+ };
58172
+ "internal_public_v1.Campaign": {
58173
+ bid?: components["schemas"]["internal_public_v1.Bid"];
58174
+ /** @description The billing account that owns and funds the campaign. */
58175
+ billingAccountId?: string;
58176
+ budget?: components["schemas"]["internal_public_v1.Budget"];
58177
+ /** @description The time the campaign was created, as an RFC 3339 UTC timestamp. */
58178
+ createTime?: string;
58179
+ /** @description The Open Cloud image asset IDs the campaign advertises, as decimal strings. */
58180
+ creativeAssetIds?: string[];
58181
+ /**
58182
+ * @description The current serving state, derived by the system (read-only). Can be `SERVING`,
58183
+ * `IN_REVIEW`, `NOT_SERVING`, or `REJECTED`.
58184
+ * @enum {string}
58185
+ */
58186
+ deliveryStatus?: "SERVING" | "IN_REVIEW" | "NOT_SERVING" | "REJECTED";
58187
+ /**
58188
+ * @description The reasons behind the current deliveryStatus, such as why a campaign is not
58189
+ * serving or was rejected, or `LEARNING` while a serving campaign ramps up. Omitted
58190
+ * when there are none.
58191
+ */
58192
+ deliveryStatusReasons?: ("SCHEDULED" | "AUTO_PAUSED" | "PAUSED" | "INACTIVE" | "COMPLETED" | "EXPIRED" | "CANCELLED" | "MODERATED" | "CLICK_BAIT" | "GAME_FILTERED" | "PRIVATE" | "PLACE_JOIN_RESTRICTED" | "LEARNING")[];
58193
+ /** @description The server-assigned unique identifier of the campaign. */
58194
+ id?: string;
58195
+ /** @description The display name of the campaign. */
58196
+ name?: string;
58197
+ /**
58198
+ * @description The advertising goal of the campaign. Only `ENGAGEMENT` is supported in v1.
58199
+ * @enum {string}
58200
+ */
58201
+ objective?: "ENGAGEMENT";
58202
+ /**
58203
+ * @description How the campaign is paid for. Fixed when the campaign is created. Can be
58204
+ * `CREDIT_CARD`, `ADS_CREDIT`, or `INVOICE`.
58205
+ * @enum {string}
58206
+ */
58207
+ paymentType?: "CREDIT_CARD" | "ADS_CREDIT" | "INVOICE";
58208
+ schedule?: components["schemas"]["internal_public_v1.Schedule"];
58209
+ /**
58210
+ * @description The lifecycle state you control through update requests. Can be `ACTIVE`,
58211
+ * `PAUSED`, or `CANCELLED`. `CANCELLED` is permanent.
58212
+ * @enum {string}
58213
+ */
58214
+ status?: "ACTIVE" | "PAUSED" | "CANCELLED";
58215
+ /** @description The identifier of the experience the campaign advertises. */
58216
+ targetUniverseId?: string;
58217
+ targeting?: components["schemas"]["internal_public_v1.Targeting"];
58218
+ /** @description The time the campaign was last updated, as an RFC 3339 UTC timestamp. */
58219
+ updateTime?: string;
58220
+ };
58221
+ "internal_public_v1.CampaignIDFailure": {
58222
+ /** @description The campaign ID that could not be resolved. */
58223
+ id?: string;
58224
+ /**
58225
+ * @description Why the ID could not be resolved. `NOT_FOUND` means the campaign does not exist
58226
+ * or is not owned by the caller.
58227
+ * @enum {string}
58228
+ */
58229
+ reason?: "NOT_FOUND";
58230
+ };
58231
+ "internal_public_v1.CampaignOptionsResponse": {
58232
+ /** @description The supported creative formats and their pixel dimensions. */
58233
+ adFormats?: components["schemas"]["internal_public_v1.AdFormat"][];
58234
+ /**
58235
+ * @description The eligibility result for the requested experience. Present only when
58236
+ * universeId was supplied in the request.
58237
+ */
58238
+ eligibility?: components["schemas"]["internal_public_v1.UniverseEligibility"];
58239
+ /** @description The campaign objectives you can create. Only `ENGAGEMENT` is supported in v1. */
58240
+ objectives?: "ENGAGEMENT"[];
58241
+ /**
58242
+ * @description The payment types available for the caller's account. Values can be
58243
+ * `CREDIT_CARD`, `ADS_CREDIT`, or `INVOICE`.
58244
+ */
58245
+ paymentTypes?: ("CREDIT_CARD" | "ADS_CREDIT" | "INVOICE")[];
58246
+ targetingDimensions?: components["schemas"]["internal_public_v1.TargetingDimensions"];
58247
+ };
58248
+ "internal_public_v1.CampaignPerformance": {
58249
+ /** @description The campaign these metrics belong to. */
58250
+ campaignId?: string;
58251
+ totals?: components["schemas"]["internal_public_v1.PerformanceTotals"];
58252
+ };
58253
+ "internal_public_v1.CampaignStatus": {
58254
+ /**
58255
+ * @description The current serving state. Can be `SERVING`, `IN_REVIEW`, `NOT_SERVING`, or `REJECTED`.
58256
+ * @enum {string}
58257
+ */
58258
+ deliveryStatus?: "SERVING" | "IN_REVIEW" | "NOT_SERVING" | "REJECTED";
58259
+ /** @description The reasons behind the current deliveryStatus. Omitted when there are none. */
58260
+ deliveryStatusReasons?: ("SCHEDULED" | "AUTO_PAUSED" | "PAUSED" | "INACTIVE" | "COMPLETED" | "EXPIRED" | "CANCELLED" | "MODERATED" | "CLICK_BAIT" | "GAME_FILTERED" | "PRIVATE" | "PLACE_JOIN_RESTRICTED" | "LEARNING")[];
58261
+ /** @description The campaign identifier. */
58262
+ id?: string;
58263
+ /**
58264
+ * @description The lifecycle state. Can be `ACTIVE`, `PAUSED`, or `CANCELLED`.
58265
+ * @enum {string}
58266
+ */
58267
+ status?: "ACTIVE" | "PAUSED" | "CANCELLED";
58268
+ };
58269
+ "internal_public_v1.CreateCampaignRequest": {
58270
+ /** @description Optional bidding strategy. Only `AUTOMATED` is accepted in v1; may be omitted. */
58271
+ bid?: components["schemas"]["internal_public_v1.Bid"];
58272
+ budget?: components["schemas"]["internal_public_v1.Budget"];
58273
+ /**
58274
+ * @description The Open Cloud image asset IDs to advertise, as decimal strings. Required. The
58275
+ * assets must already exist and be usable by the caller.
58276
+ */
58277
+ creativeAssetIds?: string[];
58278
+ /** @description The display name of the campaign. Required. */
58279
+ name?: string;
58280
+ /**
58281
+ * @description The advertising goal. Required. Only `ENGAGEMENT` is supported in v1.
58282
+ * @enum {string}
58283
+ */
58284
+ objective?: "ENGAGEMENT";
58285
+ /**
58286
+ * @description How the campaign is paid for. Required. Can be `CREDIT_CARD`, `ADS_CREDIT`, or
58287
+ * `INVOICE`, subject to what the billing account supports.
58288
+ * @enum {string}
58289
+ */
58290
+ paymentType?: "CREDIT_CARD" | "ADS_CREDIT" | "INVOICE";
58291
+ schedule?: components["schemas"]["internal_public_v1.Schedule"];
58292
+ /** @description The identifier of the experience to advertise. Required. */
58293
+ targetUniverseId?: string;
58294
+ /** @description Optional audience targeting. Omit it, or send an empty object, to reach all audiences. */
58295
+ targeting?: components["schemas"]["internal_public_v1.Targeting"];
58296
+ };
58297
+ "internal_public_v1.Creative": {
58298
+ /** @description The Open Cloud image asset ID backing this creative, as a decimal string. */
58299
+ assetId?: string;
58300
+ /** @description The display name of the underlying asset. */
58301
+ assetName?: string;
58302
+ /**
58303
+ * @description The media type of the asset. Only `IMAGE` is supported in v1.
58304
+ * @enum {string}
58305
+ */
58306
+ assetType?: "IMAGE";
58307
+ /** @description The time the creative was added to the library, as an RFC 3339 UTC timestamp. */
58308
+ createTime?: string;
58309
+ /** @description The height of the asset in pixels. Omitted when unknown. */
58310
+ height?: number;
58311
+ /** @description The identifier of the creative library entry. This is distinct from assetId. */
58312
+ id?: string;
58313
+ /** @description Whether the creative has been archived (soft-deleted). */
58314
+ isArchived?: boolean;
58315
+ /**
58316
+ * @description The content-review outcome for the asset. Can be `PENDING_REVIEW`, `APPROVED`, or `REJECTED`.
58317
+ * @enum {string}
58318
+ */
58319
+ moderationStatus?: "PENDING_REVIEW" | "APPROVED" | "REJECTED";
58320
+ /**
58321
+ * @description How the asset was produced. Can be `UPLOAD` or `IN_HOUSE_GEN_AI`.
58322
+ * @enum {string}
58323
+ */
58324
+ source?: "UPLOAD" | "IN_HOUSE_GEN_AI";
58325
+ /**
58326
+ * @description The identifier of the experience the creative is associated with, if any, as a
58327
+ * decimal string. Omitted when not associated with an experience.
58328
+ */
58329
+ universeId?: string;
58330
+ /** @description The time the creative was last updated, as an RFC 3339 UTC timestamp. */
58331
+ updateTime?: string;
58332
+ /** @description The width of the asset in pixels. Omitted when unknown. */
58333
+ width?: number;
58334
+ };
58335
+ "internal_public_v1.ErrorEnvelope": {
58336
+ /** @description A human-readable explanation of this specific failure. */
58337
+ detail?: string;
58338
+ /** @description The individual errors. There is at least one entry; each has a code and message. */
58339
+ errors?: components["schemas"]["internal_public_v1.PublicError"][];
58340
+ /** @description The HTTP status code, repeated here for convenience. */
58341
+ status?: number;
58342
+ /** @description A short summary of the error class. */
58343
+ title?: string;
58344
+ };
58345
+ "internal_public_v1.ListAdvertisableUniversesResponse": {
58346
+ /**
58347
+ * @description The complete set of experiences the caller can advertise. This endpoint is not
58348
+ * paginated; the full list is returned in one response.
58349
+ */
58350
+ advertisableUniverses?: components["schemas"]["internal_public_v1.AdvertisableUniverse"][];
58351
+ };
58352
+ "internal_public_v1.ListBillingAccountsResponse": {
58353
+ /** @description The page of billing accounts. */
58354
+ billingAccounts?: components["schemas"]["internal_public_v1.BillingAccount"][];
58355
+ /**
58356
+ * @description The cursor for the next page. Pass it as pageToken to fetch the next page.
58357
+ * Absent on the last page.
58358
+ */
58359
+ nextPageToken?: string;
58360
+ };
58361
+ "internal_public_v1.ListCampaignsResponse": {
58362
+ /** @description The page of campaigns. */
58363
+ campaigns?: components["schemas"]["internal_public_v1.Campaign"][];
58364
+ /**
58365
+ * @description The cursor for the next page. Pass it as pageToken to fetch the next page.
58366
+ * Absent on the last page.
58367
+ */
58368
+ nextPageToken?: string;
58369
+ };
58370
+ "internal_public_v1.ListCreativesResponse": {
58371
+ /** @description The page of creatives. */
58372
+ creatives?: components["schemas"]["internal_public_v1.Creative"][];
58373
+ /**
58374
+ * @description The cursor for the next page. Pass it as pageToken to fetch the next page.
58375
+ * Absent on the last page.
58376
+ */
58377
+ nextPageToken?: string;
58378
+ };
58379
+ "internal_public_v1.PerformanceResponse": {
58380
+ /** @description The campaign these metrics belong to. */
58381
+ campaignId?: string;
58382
+ /** @description The time the metrics were current, as an RFC 3339 UTC timestamp. */
58383
+ dataAsOf?: string;
58384
+ /** @description The last day of the window (inclusive), as YYYY-MM-DD in the account's time zone. */
58385
+ endDate?: string;
58386
+ /**
58387
+ * @description The reporting window applied. Can be `TODAY`, `YESTERDAY`, `LAST_7_DAYS`,
58388
+ * `LAST_30_DAYS`, `THIS_MONTH`, `LAST_MONTH`, `YEAR_TO_DATE`, or `PREVIOUS_YEAR`.
58389
+ * @enum {string}
58390
+ */
58391
+ period?: "TODAY" | "YESTERDAY" | "LAST_7_DAYS" | "LAST_30_DAYS" | "THIS_MONTH" | "LAST_MONTH" | "YEAR_TO_DATE" | "PREVIOUS_YEAR";
58392
+ /** @description The first day of the window (inclusive), as YYYY-MM-DD in the account's time zone. */
58393
+ startDate?: string;
58394
+ /** @description The IANA time zone the window and metrics are computed in. */
58395
+ timeZone?: string;
58396
+ totals?: components["schemas"]["internal_public_v1.PerformanceTotals"];
58397
+ };
58398
+ "internal_public_v1.PerformanceTotals": {
58399
+ /** @description The number of clicks on an ad. */
58400
+ clicks?: number;
58401
+ /** @description Cost per 1,000 impressions in micro-USD, as a decimal string. */
58402
+ cpmMicros?: string;
58403
+ /** @description Cost per play in micro-USD, as a decimal string. */
58404
+ cppMicros?: string;
58405
+ /** @description The click-through rate: clicks divided by impressions, from 0 to 1. */
58406
+ ctr?: number;
58407
+ /** @description The number of times an ad was shown. */
58408
+ impressions?: number;
58409
+ /** @description The play rate: plays divided by impressions, from 0 to 1. */
58410
+ playRate?: number;
58411
+ /** @description The number of resulting experience plays. */
58412
+ plays?: number;
58413
+ /** @description Total spend in micro-USD, as a decimal string (for example, `5000000` = $5.00). */
58414
+ spendMicros?: string;
58415
+ };
58416
+ "internal_public_v1.PublicError": {
58417
+ /**
58418
+ * @description A stable, machine-readable error code (for example, `INVALID_ARGUMENT`,
58419
+ * `NOT_FOUND`, `PERMISSION_DENIED`, or `RATE_LIMITED`).
58420
+ */
58421
+ code?: string;
58422
+ /** @description A human-readable description of the error. */
58423
+ message?: string;
58424
+ };
58425
+ "internal_public_v1.Schedule": {
58426
+ /**
58427
+ * @description How long the campaign runs from startTime, in days. Must not exceed 3650 (about
58428
+ * 10 years).
58429
+ */
58430
+ durationInDays?: number;
58431
+ /**
58432
+ * @description Not accepted in v1 and never returned; supplying it returns 400. Use
58433
+ * durationInDays to set when the campaign ends. Reserved for a future objective.
58434
+ */
58435
+ endTime?: string;
58436
+ /**
58437
+ * @description The time the campaign starts serving, as an RFC 3339 UTC timestamp. On a create
58438
+ * request it must not be in the past.
58439
+ */
58440
+ startTime?: string;
58441
+ };
58442
+ "internal_public_v1.Targeting": {
58443
+ /**
58444
+ * @description The age brackets to deliver to. Empty means all ages. Values can be `AGE_13_17`,
58445
+ * `AGE_18_24`, or `AGE_25_PLUS`.
58446
+ */
58447
+ ageGroups?: ("AGE_13_17" | "AGE_18_24" | "AGE_25_PLUS")[];
58448
+ /**
58449
+ * @description The ISO 3166-1 alpha-2 country codes to deliver to (for example, `US`). Empty
58450
+ * means all countries.
58451
+ */
58452
+ countries?: string[];
58453
+ /**
58454
+ * @description The device types to deliver to. Empty means all devices. Values can be `PHONE`,
58455
+ * `TABLET`, `DESKTOP`, or `CONSOLE`.
58456
+ */
58457
+ devices?: ("PHONE" | "TABLET" | "DESKTOP" | "CONSOLE")[];
58458
+ };
58459
+ "internal_public_v1.TargetingDimensions": {
58460
+ /** @description The selectable age brackets. Values can be `AGE_13_17`, `AGE_18_24`, or `AGE_25_PLUS`. */
58461
+ ageGroups?: ("AGE_13_17" | "AGE_18_24" | "AGE_25_PLUS")[];
58462
+ /** @description The selectable ISO 3166-1 alpha-2 country codes (for example, `US`). */
58463
+ countries?: string[];
58464
+ /** @description The selectable device types. Values can be `PHONE`, `TABLET`, `DESKTOP`, or `CONSOLE`. */
58465
+ devices?: ("PHONE" | "TABLET" | "DESKTOP" | "CONSOLE")[];
58466
+ };
58467
+ "internal_public_v1.UniverseEligibility": {
58468
+ /** @description Whether the experience can currently be advertised. */
58469
+ eligible?: boolean;
58470
+ /**
58471
+ * @description The reasons the experience is not eligible. Omitted when eligible. Values can be
58472
+ * `NO_PERMISSION` or `BLOCKED`.
58473
+ */
58474
+ reasons?: ("NO_PERMISSION" | "BLOCKED")[];
58475
+ /** @description The identifier of the experience that was checked. */
58476
+ universeId?: string;
58477
+ };
58478
+ "internal_public_v1.UpdateCampaignRequest": {
58479
+ /** @description Immutable in v1; including it returns 400. */
58480
+ bid?: components["schemas"]["internal_public_v1.Bid"];
58481
+ /** @description A budget change. Only the amount may change; the budget type is immutable. */
58482
+ budget?: components["schemas"]["internal_public_v1.Budget"];
58483
+ /** @description Immutable in v1; including it returns 400. */
58484
+ creativeAssetIds?: string[];
58485
+ /** @description A new display name for the campaign. */
58486
+ name?: string;
58487
+ /** @description A schedule change. Allowed only before the campaign starts. */
58488
+ schedule?: components["schemas"]["internal_public_v1.Schedule"];
58489
+ /**
58490
+ * @description A lifecycle transition: `ACTIVE` to run or resume, `PAUSED` to pause, or
58491
+ * `CANCELLED` to cancel permanently.
58492
+ * @enum {string}
58493
+ */
58494
+ status?: "ACTIVE" | "PAUSED" | "CANCELLED";
58495
+ /** @description Immutable in v1; including it returns 400. */
58496
+ targeting?: components["schemas"]["internal_public_v1.Targeting"];
58497
+ };
56526
58498
  /** @description A simple container used to hold and organize Roblox instances. */
56527
58499
  "roblox.engine.Folder": Record<string, never>;
56528
58500
  /** @description Instance is the base class for all classes in the Roblox class hierarchy. */
@@ -56664,13 +58636,6 @@ export interface components {
56664
58636
  "text/json": components["schemas"]["Roblox.Groups.Api.PayoutRequest"];
56665
58637
  };
56666
58638
  };
56667
- /** @description The Roblox.Groups.Api.RelationshipsRequest. */
56668
- "Roblox.Groups.Api.RelationshipsRequest": {
56669
- content: {
56670
- "application/json": components["schemas"]["Roblox.Groups.Api.RelationshipsRequest"];
56671
- "text/json": components["schemas"]["Roblox.Groups.Api.RelationshipsRequest"];
56672
- };
56673
- };
56674
58639
  /** @description The request body. */
56675
58640
  "Roblox.LocalizationTables.Api.IngestAutoScrapedContentForGameRequest": {
56676
58641
  content: {
@@ -62438,43 +64403,335 @@ export interface operations {
62438
64403
  };
62439
64404
  };
62440
64405
  };
62441
- GameServers_ListGameServers: {
64406
+ GameServers_ListGameServers: {
64407
+ parameters: {
64408
+ query?: {
64409
+ /**
64410
+ * @description The maximum number of game servers to return. The service might return
64411
+ * fewer than this value. If unspecified, at most 25 game servers are
64412
+ * returned. The maximum value is 100 and higher values are set to 100.
64413
+ */
64414
+ MaxPageSize?: number;
64415
+ /**
64416
+ * @description A page token, received from a previous call, to retrieve a subsequent page.
64417
+ * When paginating, all other parameters provided to the subsequent call must
64418
+ * match the call that provided the page token.
64419
+ */
64420
+ PageToken?: string;
64421
+ /**
64422
+ * @description Sorting is supported only for a single field at a time.
64423
+ * Example: "orderBy": "uptime"
64424
+ * Defaults to ascending, but descending ordering is also supported by
64425
+ * including the " desc" suffix. For example: "orderBy": "uptime desc".
64426
+ */
64427
+ OrderBy?: string;
64428
+ /**
64429
+ * @description This field may be set in order to filter the resources returned.
64430
+ * - CEL filtering is supported on all fields.
64431
+ * - Supported operators &&, <, <=, >, >=, ==, and `in`
64432
+ */
64433
+ Filter?: string;
64434
+ };
64435
+ header?: never;
64436
+ path: {
64437
+ /** @description The universe ID */
64438
+ universeId: number;
64439
+ /** @description The place ID */
64440
+ placeId: number;
64441
+ /** @description The version number */
64442
+ versionNumber: string;
64443
+ };
64444
+ cookie?: never;
64445
+ };
64446
+ requestBody?: never;
64447
+ responses: {
64448
+ /** @description Success */
64449
+ 200: {
64450
+ headers: {
64451
+ [name: string]: unknown;
64452
+ };
64453
+ content: {
64454
+ "application/json": components["schemas"]["ServerManagementService.ListGameServersResponse"];
64455
+ };
64456
+ };
64457
+ /** @description Bad Request */
64458
+ 400: {
64459
+ headers: {
64460
+ [name: string]: unknown;
64461
+ };
64462
+ content: {
64463
+ "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64464
+ };
64465
+ };
64466
+ /** @description Unauthorized */
64467
+ 401: {
64468
+ headers: {
64469
+ [name: string]: unknown;
64470
+ };
64471
+ content: {
64472
+ "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64473
+ };
64474
+ };
64475
+ /** @description Forbidden */
64476
+ 403: {
64477
+ headers: {
64478
+ [name: string]: unknown;
64479
+ };
64480
+ content: {
64481
+ "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64482
+ };
64483
+ };
64484
+ };
64485
+ };
64486
+ GameServers_ListGameServerLogs: {
64487
+ parameters: {
64488
+ query?: {
64489
+ /**
64490
+ * @description The maximum number of game servers to return. The service might return
64491
+ * fewer than this value. If unspecified, at most 25 game servers are
64492
+ * returned. The maximum value is 100 and higher values are set to 100.
64493
+ */
64494
+ MaxPageSize?: number;
64495
+ /**
64496
+ * @description A page token, received from a previous call, to retrieve a subsequent page.
64497
+ * When paginating, all other parameters provided to the subsequent call must
64498
+ * match the call that provided the page token.
64499
+ */
64500
+ PageToken?: string;
64501
+ /**
64502
+ * @description Sorting is supported only for a single field at a time.
64503
+ * Example: "orderBy": "uptime"
64504
+ * Defaults to ascending, but descending ordering is also supported by
64505
+ * including the " desc" suffix. For example: "orderBy": "uptime desc".
64506
+ */
64507
+ OrderBy?: string;
64508
+ /**
64509
+ * @description This field may be set in order to filter the resources returned.
64510
+ * - CEL filtering is supported on all fields.
64511
+ * - Supported operators &&, <, <=, >, >=, ==, and `in`
64512
+ */
64513
+ Filter?: string;
64514
+ };
64515
+ header?: never;
64516
+ path: {
64517
+ /** @description The universe id */
64518
+ universeId: number;
64519
+ /** @description The place id */
64520
+ placeId: number;
64521
+ /** @description The version number */
64522
+ versionNumber: string;
64523
+ /** @description The server job id */
64524
+ jobId: string;
64525
+ };
64526
+ cookie?: never;
64527
+ };
64528
+ requestBody?: never;
64529
+ responses: {
64530
+ /** @description Success */
64531
+ 200: {
64532
+ headers: {
64533
+ [name: string]: unknown;
64534
+ };
64535
+ content: {
64536
+ "application/json": components["schemas"]["ListGameServerLogsResponse"];
64537
+ };
64538
+ };
64539
+ /** @description Bad Request */
64540
+ 400: {
64541
+ headers: {
64542
+ [name: string]: unknown;
64543
+ };
64544
+ content: {
64545
+ "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64546
+ };
64547
+ };
64548
+ /** @description Unauthorized */
64549
+ 401: {
64550
+ headers: {
64551
+ [name: string]: unknown;
64552
+ };
64553
+ content: {
64554
+ "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64555
+ };
64556
+ };
64557
+ /** @description Forbidden */
64558
+ 403: {
64559
+ headers: {
64560
+ [name: string]: unknown;
64561
+ };
64562
+ content: {
64563
+ "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64564
+ };
64565
+ };
64566
+ };
64567
+ };
64568
+ Restarts_ListRestartStatuses: {
64569
+ parameters: {
64570
+ query?: never;
64571
+ header?: never;
64572
+ path: {
64573
+ /** @description The universe ID */
64574
+ universeId: number;
64575
+ };
64576
+ cookie?: never;
64577
+ };
64578
+ requestBody?: never;
64579
+ responses: {
64580
+ /** @description Success */
64581
+ 200: {
64582
+ headers: {
64583
+ [name: string]: unknown;
64584
+ };
64585
+ content: {
64586
+ "application/json": components["schemas"]["ListRestartStatusesResponse"];
64587
+ };
64588
+ };
64589
+ /** @description Bad Request */
64590
+ 400: {
64591
+ headers: {
64592
+ [name: string]: unknown;
64593
+ };
64594
+ content: {
64595
+ "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64596
+ };
64597
+ };
64598
+ /** @description Unauthorized */
64599
+ 401: {
64600
+ headers: {
64601
+ [name: string]: unknown;
64602
+ };
64603
+ content: {
64604
+ "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64605
+ };
64606
+ };
64607
+ /** @description Forbidden */
64608
+ 403: {
64609
+ headers: {
64610
+ [name: string]: unknown;
64611
+ };
64612
+ content: {
64613
+ "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64614
+ };
64615
+ };
64616
+ };
64617
+ };
64618
+ Restarts_LaunchRestart: {
64619
+ parameters: {
64620
+ query?: never;
64621
+ header?: never;
64622
+ path: {
64623
+ /** @description The universe ID */
64624
+ universeId: number;
64625
+ };
64626
+ cookie?: never;
64627
+ };
64628
+ /** @description The launch restart request body */
64629
+ requestBody?: {
64630
+ content: {
64631
+ "application/json": components["schemas"]["LaunchRestartRequest"];
64632
+ "text/json": components["schemas"]["LaunchRestartRequest"];
64633
+ "application/*+json": components["schemas"]["LaunchRestartRequest"];
64634
+ };
64635
+ };
64636
+ responses: {
64637
+ /** @description Success */
64638
+ 200: {
64639
+ headers: {
64640
+ [name: string]: unknown;
64641
+ };
64642
+ content: {
64643
+ "application/json": components["schemas"]["LaunchRestartResponse"];
64644
+ };
64645
+ };
64646
+ /** @description Bad Request */
64647
+ 400: {
64648
+ headers: {
64649
+ [name: string]: unknown;
64650
+ };
64651
+ content: {
64652
+ "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64653
+ };
64654
+ };
64655
+ /** @description Unauthorized */
64656
+ 401: {
64657
+ headers: {
64658
+ [name: string]: unknown;
64659
+ };
64660
+ content: {
64661
+ "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64662
+ };
64663
+ };
64664
+ /** @description Forbidden */
64665
+ 403: {
64666
+ headers: {
64667
+ [name: string]: unknown;
64668
+ };
64669
+ content: {
64670
+ "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64671
+ };
64672
+ };
64673
+ };
64674
+ };
64675
+ Restarts_ForecastRestart: {
64676
+ parameters: {
64677
+ query?: never;
64678
+ header?: never;
64679
+ path: {
64680
+ /** @description The universe ID */
64681
+ universeId: number;
64682
+ };
64683
+ cookie?: never;
64684
+ };
64685
+ requestBody?: never;
64686
+ responses: {
64687
+ /** @description Success */
64688
+ 200: {
64689
+ headers: {
64690
+ [name: string]: unknown;
64691
+ };
64692
+ content: {
64693
+ "application/json": components["schemas"]["ForecastRestartResponse"];
64694
+ };
64695
+ };
64696
+ /** @description Bad Request */
64697
+ 400: {
64698
+ headers: {
64699
+ [name: string]: unknown;
64700
+ };
64701
+ content: {
64702
+ "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64703
+ };
64704
+ };
64705
+ /** @description Unauthorized */
64706
+ 401: {
64707
+ headers: {
64708
+ [name: string]: unknown;
64709
+ };
64710
+ content: {
64711
+ "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64712
+ };
64713
+ };
64714
+ /** @description Forbidden */
64715
+ 403: {
64716
+ headers: {
64717
+ [name: string]: unknown;
64718
+ };
64719
+ content: {
64720
+ "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64721
+ };
64722
+ };
64723
+ };
64724
+ };
64725
+ "ThumbnailPersonalizationApi.HomepageThumbnail_FindThumbnailPersonalizations": {
62442
64726
  parameters: {
62443
64727
  query?: {
62444
- /**
62445
- * @description The maximum number of game servers to return. The service might return
62446
- * fewer than this value. If unspecified, at most 25 game servers are
62447
- * returned. The maximum value is 100 and higher values are set to 100.
62448
- */
62449
- MaxPageSize?: number;
62450
- /**
62451
- * @description A page token, received from a previous call, to retrieve a subsequent page.
62452
- * When paginating, all other parameters provided to the subsequent call must
62453
- * match the call that provided the page token.
62454
- */
62455
- PageToken?: string;
62456
- /**
62457
- * @description Sorting is supported only for a single field at a time.
62458
- * Example: "orderBy": "uptime"
62459
- * Defaults to ascending, but descending ordering is also supported by
62460
- * including the " desc" suffix. For example: "orderBy": "uptime desc".
62461
- */
62462
- OrderBy?: string;
62463
- /**
62464
- * @description This field may be set in order to filter the resources returned.
62465
- * - CEL filtering is supported on all fields.
62466
- * - Supported operators &&, <, <=, >, >=, ==, and `in`
62467
- */
62468
- Filter?: string;
64728
+ status?: components["schemas"]["PersonalizedConfigStatus"];
64729
+ limit?: number;
64730
+ cursor?: string;
62469
64731
  };
62470
64732
  header?: never;
62471
64733
  path: {
62472
- /** @description The universe ID */
62473
64734
  universeId: number;
62474
- /** @description The place ID */
62475
- placeId: number;
62476
- /** @description The version number */
62477
- versionNumber: string;
62478
64735
  };
62479
64736
  cookie?: never;
62480
64737
  };
@@ -62486,7 +64743,7 @@ export interface operations {
62486
64743
  [name: string]: unknown;
62487
64744
  };
62488
64745
  content: {
62489
- "application/json": components["schemas"]["ServerManagementService.ListGameServersResponse"];
64746
+ "application/json": components["schemas"]["ActionResult"];
62490
64747
  };
62491
64748
  };
62492
64749
  /** @description Bad Request */
@@ -62495,7 +64752,7 @@ export interface operations {
62495
64752
  [name: string]: unknown;
62496
64753
  };
62497
64754
  content: {
62498
- "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64755
+ "application/json": components["schemas"]["ActionResult"];
62499
64756
  };
62500
64757
  };
62501
64758
  /** @description Unauthorized */
@@ -62504,7 +64761,7 @@ export interface operations {
62504
64761
  [name: string]: unknown;
62505
64762
  };
62506
64763
  content: {
62507
- "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64764
+ "application/json": components["schemas"]["ActionResult"];
62508
64765
  };
62509
64766
  };
62510
64767
  /** @description Forbidden */
@@ -62513,50 +64770,159 @@ export interface operations {
62513
64770
  [name: string]: unknown;
62514
64771
  };
62515
64772
  content: {
62516
- "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64773
+ "application/json": components["schemas"]["ActionResult"];
64774
+ };
64775
+ };
64776
+ /** @description Server Error */
64777
+ 500: {
64778
+ headers: {
64779
+ [name: string]: unknown;
64780
+ };
64781
+ content: {
64782
+ "application/json": components["schemas"]["ActionResult"];
62517
64783
  };
62518
64784
  };
62519
64785
  };
62520
64786
  };
62521
- GameServers_ListGameServerLogs: {
64787
+ "ThumbnailPersonalizationApi.HomepageThumbnail_CreateThumbnailPersonalization": {
64788
+ parameters: {
64789
+ query?: never;
64790
+ header?: never;
64791
+ path: {
64792
+ universeId: number;
64793
+ };
64794
+ cookie?: never;
64795
+ };
64796
+ requestBody?: {
64797
+ content: {
64798
+ "application/json-patch+json": components["schemas"]["CreateThumbnailPersonalizationRequest"];
64799
+ "application/json": components["schemas"]["CreateThumbnailPersonalizationRequest"];
64800
+ "text/json": components["schemas"]["CreateThumbnailPersonalizationRequest"];
64801
+ "application/*+json": components["schemas"]["CreateThumbnailPersonalizationRequest"];
64802
+ };
64803
+ };
64804
+ responses: {
64805
+ /** @description Success */
64806
+ 200: {
64807
+ headers: {
64808
+ [name: string]: unknown;
64809
+ };
64810
+ content: {
64811
+ "application/json": components["schemas"]["ActionResult"];
64812
+ };
64813
+ };
64814
+ /** @description Bad Request */
64815
+ 400: {
64816
+ headers: {
64817
+ [name: string]: unknown;
64818
+ };
64819
+ content: {
64820
+ "application/json": components["schemas"]["ActionResult"];
64821
+ };
64822
+ };
64823
+ /** @description Unauthorized */
64824
+ 401: {
64825
+ headers: {
64826
+ [name: string]: unknown;
64827
+ };
64828
+ content: {
64829
+ "application/json": components["schemas"]["ActionResult"];
64830
+ };
64831
+ };
64832
+ /** @description Forbidden */
64833
+ 403: {
64834
+ headers: {
64835
+ [name: string]: unknown;
64836
+ };
64837
+ content: {
64838
+ "application/json": components["schemas"]["ActionResult"];
64839
+ };
64840
+ };
64841
+ /** @description Server Error */
64842
+ 500: {
64843
+ headers: {
64844
+ [name: string]: unknown;
64845
+ };
64846
+ content: {
64847
+ "application/json": components["schemas"]["ActionResult"];
64848
+ };
64849
+ };
64850
+ };
64851
+ };
64852
+ "ThumbnailPersonalizationApi.HomepageThumbnail_UpdateThumbnailPersonalization": {
64853
+ parameters: {
64854
+ query?: never;
64855
+ header?: never;
64856
+ path: {
64857
+ universeId: number;
64858
+ };
64859
+ cookie?: never;
64860
+ };
64861
+ requestBody?: {
64862
+ content: {
64863
+ "application/json-patch+json": components["schemas"]["UpdateThumbnailPersonalizationRequest"];
64864
+ "application/json": components["schemas"]["UpdateThumbnailPersonalizationRequest"];
64865
+ "text/json": components["schemas"]["UpdateThumbnailPersonalizationRequest"];
64866
+ "application/*+json": components["schemas"]["UpdateThumbnailPersonalizationRequest"];
64867
+ };
64868
+ };
64869
+ responses: {
64870
+ /** @description Success */
64871
+ 200: {
64872
+ headers: {
64873
+ [name: string]: unknown;
64874
+ };
64875
+ content: {
64876
+ "application/json": components["schemas"]["ActionResult"];
64877
+ };
64878
+ };
64879
+ /** @description Bad Request */
64880
+ 400: {
64881
+ headers: {
64882
+ [name: string]: unknown;
64883
+ };
64884
+ content: {
64885
+ "application/json": components["schemas"]["ActionResult"];
64886
+ };
64887
+ };
64888
+ /** @description Unauthorized */
64889
+ 401: {
64890
+ headers: {
64891
+ [name: string]: unknown;
64892
+ };
64893
+ content: {
64894
+ "application/json": components["schemas"]["ActionResult"];
64895
+ };
64896
+ };
64897
+ /** @description Forbidden */
64898
+ 403: {
64899
+ headers: {
64900
+ [name: string]: unknown;
64901
+ };
64902
+ content: {
64903
+ "application/json": components["schemas"]["ActionResult"];
64904
+ };
64905
+ };
64906
+ /** @description Server Error */
64907
+ 500: {
64908
+ headers: {
64909
+ [name: string]: unknown;
64910
+ };
64911
+ content: {
64912
+ "application/json": components["schemas"]["ActionResult"];
64913
+ };
64914
+ };
64915
+ };
64916
+ };
64917
+ "ThumbnailPersonalizationApi.HomepageThumbnail_GetHomepageThumbnails": {
62522
64918
  parameters: {
62523
64919
  query?: {
62524
- /**
62525
- * @description The maximum number of game servers to return. The service might return
62526
- * fewer than this value. If unspecified, at most 25 game servers are
62527
- * returned. The maximum value is 100 and higher values are set to 100.
62528
- */
62529
- MaxPageSize?: number;
62530
- /**
62531
- * @description A page token, received from a previous call, to retrieve a subsequent page.
62532
- * When paginating, all other parameters provided to the subsequent call must
62533
- * match the call that provided the page token.
62534
- */
62535
- PageToken?: string;
62536
- /**
62537
- * @description Sorting is supported only for a single field at a time.
62538
- * Example: "orderBy": "uptime"
62539
- * Defaults to ascending, but descending ordering is also supported by
62540
- * including the " desc" suffix. For example: "orderBy": "uptime desc".
62541
- */
62542
- OrderBy?: string;
62543
- /**
62544
- * @description This field may be set in order to filter the resources returned.
62545
- * - CEL filtering is supported on all fields.
62546
- * - Supported operators &&, <, <=, >, >=, ==, and `in`
62547
- */
62548
- Filter?: string;
64920
+ limit?: number;
64921
+ nextCursor?: string;
62549
64922
  };
62550
64923
  header?: never;
62551
64924
  path: {
62552
- /** @description The universe id */
62553
64925
  universeId: number;
62554
- /** @description The place id */
62555
- placeId: number;
62556
- /** @description The version number */
62557
- versionNumber: string;
62558
- /** @description The server job id */
62559
- jobId: string;
62560
64926
  };
62561
64927
  cookie?: never;
62562
64928
  };
@@ -62568,7 +64934,7 @@ export interface operations {
62568
64934
  [name: string]: unknown;
62569
64935
  };
62570
64936
  content: {
62571
- "application/json": components["schemas"]["ListGameServerLogsResponse"];
64937
+ "application/json": components["schemas"]["FindThumbnailsResponse"];
62572
64938
  };
62573
64939
  };
62574
64940
  /** @description Bad Request */
@@ -62577,7 +64943,7 @@ export interface operations {
62577
64943
  [name: string]: unknown;
62578
64944
  };
62579
64945
  content: {
62580
- "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64946
+ "application/json": components["schemas"]["ActionResult"];
62581
64947
  };
62582
64948
  };
62583
64949
  /** @description Unauthorized */
@@ -62586,7 +64952,7 @@ export interface operations {
62586
64952
  [name: string]: unknown;
62587
64953
  };
62588
64954
  content: {
62589
- "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64955
+ "application/json": components["schemas"]["ActionResult"];
62590
64956
  };
62591
64957
  };
62592
64958
  /** @description Forbidden */
@@ -62595,17 +64961,27 @@ export interface operations {
62595
64961
  [name: string]: unknown;
62596
64962
  };
62597
64963
  content: {
62598
- "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
64964
+ "application/json": components["schemas"]["ActionResult"];
64965
+ };
64966
+ };
64967
+ /** @description Server Error */
64968
+ 500: {
64969
+ headers: {
64970
+ [name: string]: unknown;
64971
+ };
64972
+ content: {
64973
+ "application/json": components["schemas"]["ActionResult"];
62599
64974
  };
62600
64975
  };
62601
64976
  };
62602
64977
  };
62603
- Restarts_ListRestartStatuses: {
64978
+ "ThumbnailPersonalizationApi.HomepageThumbnail_DeleteHomepageThumbnails": {
62604
64979
  parameters: {
62605
- query?: never;
64980
+ query?: {
64981
+ homepageThumbnailIds?: string[];
64982
+ };
62606
64983
  header?: never;
62607
64984
  path: {
62608
- /** @description The universe ID */
62609
64985
  universeId: number;
62610
64986
  };
62611
64987
  cookie?: never;
@@ -62618,7 +64994,7 @@ export interface operations {
62618
64994
  [name: string]: unknown;
62619
64995
  };
62620
64996
  content: {
62621
- "application/json": components["schemas"]["ListRestartStatusesResponse"];
64997
+ "application/json": components["schemas"]["ActionResult"];
62622
64998
  };
62623
64999
  };
62624
65000
  /** @description Bad Request */
@@ -62627,7 +65003,7 @@ export interface operations {
62627
65003
  [name: string]: unknown;
62628
65004
  };
62629
65005
  content: {
62630
- "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
65006
+ "application/json": components["schemas"]["ActionResult"];
62631
65007
  };
62632
65008
  };
62633
65009
  /** @description Unauthorized */
@@ -62636,7 +65012,7 @@ export interface operations {
62636
65012
  [name: string]: unknown;
62637
65013
  };
62638
65014
  content: {
62639
- "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
65015
+ "application/json": components["schemas"]["ActionResult"];
62640
65016
  };
62641
65017
  };
62642
65018
  /** @description Forbidden */
@@ -62645,27 +65021,34 @@ export interface operations {
62645
65021
  [name: string]: unknown;
62646
65022
  };
62647
65023
  content: {
62648
- "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
65024
+ "application/json": components["schemas"]["ActionResult"];
65025
+ };
65026
+ };
65027
+ /** @description Server Error */
65028
+ 500: {
65029
+ headers: {
65030
+ [name: string]: unknown;
65031
+ };
65032
+ content: {
65033
+ "application/json": components["schemas"]["ActionResult"];
62649
65034
  };
62650
65035
  };
62651
65036
  };
62652
65037
  };
62653
- Restarts_LaunchRestart: {
65038
+ "ThumbnailPersonalizationApi.HomepageThumbnail_UploadHomepageThumbnails": {
62654
65039
  parameters: {
62655
65040
  query?: never;
62656
65041
  header?: never;
62657
65042
  path: {
62658
- /** @description The universe ID */
62659
65043
  universeId: number;
62660
65044
  };
62661
65045
  cookie?: never;
62662
65046
  };
62663
- /** @description The launch restart request body */
62664
65047
  requestBody?: {
62665
65048
  content: {
62666
- "application/json": components["schemas"]["LaunchRestartRequest"];
62667
- "text/json": components["schemas"]["LaunchRestartRequest"];
62668
- "application/*+json": components["schemas"]["LaunchRestartRequest"];
65049
+ "multipart/form-data": {
65050
+ files?: string[];
65051
+ };
62669
65052
  };
62670
65053
  };
62671
65054
  responses: {
@@ -62675,7 +65058,7 @@ export interface operations {
62675
65058
  [name: string]: unknown;
62676
65059
  };
62677
65060
  content: {
62678
- "application/json": components["schemas"]["LaunchRestartResponse"];
65061
+ "application/json": components["schemas"]["UploadThumbnailsResponse"];
62679
65062
  };
62680
65063
  };
62681
65064
  /** @description Bad Request */
@@ -62684,7 +65067,7 @@ export interface operations {
62684
65067
  [name: string]: unknown;
62685
65068
  };
62686
65069
  content: {
62687
- "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
65070
+ "application/json": components["schemas"]["ActionResult"];
62688
65071
  };
62689
65072
  };
62690
65073
  /** @description Unauthorized */
@@ -62693,7 +65076,7 @@ export interface operations {
62693
65076
  [name: string]: unknown;
62694
65077
  };
62695
65078
  content: {
62696
- "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
65079
+ "application/json": components["schemas"]["ActionResult"];
62697
65080
  };
62698
65081
  };
62699
65082
  /** @description Forbidden */
@@ -62702,17 +65085,27 @@ export interface operations {
62702
65085
  [name: string]: unknown;
62703
65086
  };
62704
65087
  content: {
62705
- "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
65088
+ "application/json": components["schemas"]["ActionResult"];
65089
+ };
65090
+ };
65091
+ /** @description Server Error */
65092
+ 500: {
65093
+ headers: {
65094
+ [name: string]: unknown;
65095
+ };
65096
+ content: {
65097
+ "application/json": components["schemas"]["ActionResult"];
62706
65098
  };
62707
65099
  };
62708
65100
  };
62709
65101
  };
62710
- Restarts_ForecastRestart: {
65102
+ "ThumbnailPersonalizationApi.HomepageThumbnail_GetHomepageThumbnailsStatus": {
62711
65103
  parameters: {
62712
- query?: never;
65104
+ query?: {
65105
+ operationIds?: string[];
65106
+ };
62713
65107
  header?: never;
62714
65108
  path: {
62715
- /** @description The universe ID */
62716
65109
  universeId: number;
62717
65110
  };
62718
65111
  cookie?: never;
@@ -62725,7 +65118,7 @@ export interface operations {
62725
65118
  [name: string]: unknown;
62726
65119
  };
62727
65120
  content: {
62728
- "application/json": components["schemas"]["ForecastRestartResponse"];
65121
+ "application/json": components["schemas"]["UploadThumbnailsStatusResponse"];
62729
65122
  };
62730
65123
  };
62731
65124
  /** @description Bad Request */
@@ -62734,7 +65127,7 @@ export interface operations {
62734
65127
  [name: string]: unknown;
62735
65128
  };
62736
65129
  content: {
62737
- "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
65130
+ "application/json": components["schemas"]["ActionResult"];
62738
65131
  };
62739
65132
  };
62740
65133
  /** @description Unauthorized */
@@ -62743,7 +65136,7 @@ export interface operations {
62743
65136
  [name: string]: unknown;
62744
65137
  };
62745
65138
  content: {
62746
- "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
65139
+ "application/json": components["schemas"]["ActionResult"];
62747
65140
  };
62748
65141
  };
62749
65142
  /** @description Forbidden */
@@ -62752,7 +65145,16 @@ export interface operations {
62752
65145
  [name: string]: unknown;
62753
65146
  };
62754
65147
  content: {
62755
- "application/json": components["schemas"]["ServerManagementService.ProblemDetails"];
65148
+ "application/json": components["schemas"]["ActionResult"];
65149
+ };
65150
+ };
65151
+ /** @description Server Error */
65152
+ 500: {
65153
+ headers: {
65154
+ [name: string]: unknown;
65155
+ };
65156
+ content: {
65157
+ "application/json": components["schemas"]["ActionResult"];
62756
65158
  };
62757
65159
  };
62758
65160
  };
@@ -63243,7 +65645,7 @@ export interface operations {
63243
65645
  [name: string]: unknown;
63244
65646
  };
63245
65647
  content: {
63246
- "application/json": components["schemas"]["GameServerResponse"];
65648
+ "application/json": components["schemas"]["PrivateServersApi.GameServerResponse"];
63247
65649
  };
63248
65650
  };
63249
65651
  };
@@ -63464,7 +65866,7 @@ export interface operations {
63464
65866
  };
63465
65867
  };
63466
65868
  };
63467
- "PrivateServersApi.PrivateServers_GetMyPrivateServers": {
65869
+ PrivateServers_GetMyPrivateServers: {
63468
65870
  parameters: {
63469
65871
  query?: {
63470
65872
  privateServersTab?: components["schemas"]["PrivateServersTab"];
@@ -63510,7 +65912,7 @@ export interface operations {
63510
65912
  };
63511
65913
  };
63512
65914
  };
63513
- PrivateServers_GetMyPrivateServers: {
65915
+ "PrivateServersApi.PrivateServers_GetMyPrivateServers": {
63514
65916
  parameters: {
63515
65917
  query?: {
63516
65918
  privateServersTab?: components["schemas"]["PrivateServersTab"];