@jacobhumston/roblox-openapi-ts 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,11 @@
1
- import { $defs, components, operations, paths, webhooks } from './types.js';
2
- export { $defs, components, operations, paths, webhooks };
3
- /** Roblox API client. */
4
- export declare const client: import("openapi-fetch").Client<paths, `${string}/${string}`>;
1
+ import { ClientOptions } from 'openapi-fetch';
2
+ import { paths } from './types.js';
3
+ export * from './types.js';
4
+ /**
5
+ * Create a new Roblox API client.
6
+ * @param url The URL for this client. Default is https://apis.roblox.com
7
+ * @param options Options to pass to the API client.
8
+ */
9
+ export declare function newRobloxAPIClient(url?: RobloxApiUrl, options?: ClientOptions): import("openapi-fetch").Client<paths, `${string}/${string}`>;
10
+ /** Roblox API urls. */
11
+ export type RobloxApiUrl = 'https://apis.roblox.com' | 'https://accountinformation.roblox.com' | 'https://accountsettings.roblox.com' | 'https://adconfiguration.roblox.com' | 'https://assetdelivery.roblox.com' | 'https://auth.roblox.com' | 'https://avatar.roblox.com' | 'https://badges.roblox.com' | 'https://catalog.roblox.com' | 'https://clientsettings.roblox.com' | 'https://contacts.roblox.com' | 'https://develop.roblox.com' | 'https://economy.roblox.com' | 'https://economycreatorstats.roblox.com' | 'https://engagementpayouts.roblox.com' | 'https://followings.roblox.com' | 'https://friends.roblox.com' | 'https://gameinternationalization.roblox.com' | 'https://games.roblox.com' | 'https://groups.roblox.com' | 'https://inventory.roblox.com' | 'https://itemconfiguration.roblox.com' | 'https://locale.roblox.com' | 'https://localizationtables.roblox.com' | 'https://notifications.roblox.com' | 'https://premiumfeatures.roblox.com' | 'https://presence.roblox.com' | 'https://privatemessages.roblox.com' | 'https://publish.roblox.com' | 'https://thumbnails.roblox.com' | 'https://thumbnailsresizer.roblox.com' | 'https://trades.roblox.com' | 'https://translationroles.roblox.com' | 'https://twostepverification.roblox.com' | 'https://users.roblox.com';
package/dist/index.js CHANGED
@@ -1,4 +1,11 @@
1
1
  import createClient from 'openapi-fetch';
2
- /** Roblox API client. */
3
- export const client = createClient({ baseUrl: 'https://apis.roblox.com' });
2
+ export * from './types.js';
3
+ /**
4
+ * Create a new Roblox API client.
5
+ * @param url The URL for this client. Default is https://apis.roblox.com
6
+ * @param options Options to pass to the API client.
7
+ */
8
+ export function newRobloxAPIClient(url, options) {
9
+ return createClient({ ...(options ?? {}), ...{ baseUrl: url ?? 'https://apis.roblox.com' } });
10
+ }
4
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAKzC,yBAAyB;AACzB,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAQ,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAA+B,MAAM,eAAe,CAAC;AAG5D,cAAc,YAAY,CAAC;AAE3B;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAkB,EAAE,OAAuB;IAC1E,OAAO,YAAY,CAAQ,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,yBAAyB,EAAE,EAAE,CAAC,CAAC;AACzG,CAAC"}
package/dist/types.d.ts CHANGED
@@ -7042,6 +7042,90 @@ export interface paths {
7042
7042
  };
7043
7043
  trace?: never;
7044
7044
  };
7045
+ "/legacy-game-internationalization/v1/supported-languages/games/{gameId}/languages/{languageCode}/image-translation-status": {
7046
+ parameters: {
7047
+ query?: never;
7048
+ header?: never;
7049
+ path?: never;
7050
+ cookie?: never;
7051
+ };
7052
+ get?: never;
7053
+ put?: never;
7054
+ post?: never;
7055
+ delete?: never;
7056
+ options?: never;
7057
+ head?: never;
7058
+ /** Enable or disable image translation for a game and language. */
7059
+ patch: {
7060
+ parameters: {
7061
+ query?: never;
7062
+ header?: never;
7063
+ path: {
7064
+ /** @description The id of the game. */
7065
+ gameId: number;
7066
+ /** @description The language to enable or disable for image translation. */
7067
+ languageCode: string;
7068
+ };
7069
+ cookie?: never;
7070
+ };
7071
+ /** @description Flag to indicate if image translation should be enabled or disabled. */
7072
+ requestBody: {
7073
+ content: {
7074
+ "application/json": boolean;
7075
+ "text/json": boolean;
7076
+ };
7077
+ };
7078
+ responses: {
7079
+ /** @description OK */
7080
+ 200: {
7081
+ headers: {
7082
+ [name: string]: unknown;
7083
+ };
7084
+ content: {
7085
+ "application/json": components["schemas"]["Roblox.GameInternationalization.Api.EditImageTranslationStatusForGameAndLanguageResponse"];
7086
+ "text/json": components["schemas"]["Roblox.GameInternationalization.Api.EditImageTranslationStatusForGameAndLanguageResponse"];
7087
+ };
7088
+ };
7089
+ /**
7090
+ * @description 14: Invalid game id
7091
+ * 22: Invalid language code
7092
+ * 53: Language is not supported for the game.
7093
+ * 93: Image translation cannot be enabled for language.
7094
+ */
7095
+ 400: {
7096
+ headers: {
7097
+ [name: string]: unknown;
7098
+ };
7099
+ content?: never;
7100
+ };
7101
+ /** @description 0: Authorization has been denied for this request. */
7102
+ 401: {
7103
+ headers: {
7104
+ [name: string]: unknown;
7105
+ };
7106
+ content?: never;
7107
+ };
7108
+ /**
7109
+ * @description 0: Token Validation Failed
7110
+ * 18: You do not have permission to manage this game
7111
+ */
7112
+ 403: {
7113
+ headers: {
7114
+ [name: string]: unknown;
7115
+ };
7116
+ content?: never;
7117
+ };
7118
+ /** @description 17: Feature is disabled */
7119
+ 503: {
7120
+ headers: {
7121
+ [name: string]: unknown;
7122
+ };
7123
+ content?: never;
7124
+ };
7125
+ };
7126
+ };
7127
+ trace?: never;
7128
+ };
7045
7129
  "/legacy-game-internationalization/v1/supported-languages/games/{gameId}/languages/{languageCode}/universe-display-info-automatic-translation-settings": {
7046
7130
  parameters: {
7047
7131
  query?: never;
@@ -9566,94 +9650,6 @@ export interface paths {
9566
9650
  patch?: never;
9567
9651
  trace?: never;
9568
9652
  };
9569
- "/open-eval-api/v1/eval": {
9570
- parameters: {
9571
- query?: never;
9572
- header?: never;
9573
- path?: never;
9574
- cookie?: never;
9575
- };
9576
- get?: never;
9577
- put?: never;
9578
- /** Performs the evaluation of the Lua script. */
9579
- post: {
9580
- parameters: {
9581
- query?: never;
9582
- header?: {
9583
- /** @description Api Key (UUID). */
9584
- "Roblox-Api-Key"?: string;
9585
- };
9586
- path?: never;
9587
- cookie?: never;
9588
- };
9589
- requestBody?: {
9590
- content: {
9591
- "application/json-patch+json": components["schemas"]["EvalRequest"];
9592
- "application/json": components["schemas"]["EvalRequest"];
9593
- "text/json": components["schemas"]["EvalRequest"];
9594
- "application/*+json": components["schemas"]["EvalRequest"];
9595
- };
9596
- };
9597
- responses: {
9598
- /** @description OK */
9599
- 200: {
9600
- headers: {
9601
- [name: string]: unknown;
9602
- };
9603
- content: {
9604
- "application/json": components["schemas"]["EvalResponse"];
9605
- };
9606
- };
9607
- };
9608
- };
9609
- delete?: never;
9610
- options?: never;
9611
- head?: never;
9612
- patch?: never;
9613
- trace?: never;
9614
- };
9615
- "/open-eval-api/v1/eval-records/{jobId}": {
9616
- parameters: {
9617
- query?: never;
9618
- header?: never;
9619
- path?: never;
9620
- cookie?: never;
9621
- };
9622
- /** Gets the evaluation record by job ID. */
9623
- get: {
9624
- parameters: {
9625
- query?: never;
9626
- header?: {
9627
- /** @description Api Key (UUID). */
9628
- "Roblox-Api-Key"?: string;
9629
- };
9630
- path: {
9631
- /** @description The job ID of the evaluation record. */
9632
- jobId: string;
9633
- };
9634
- cookie?: never;
9635
- };
9636
- requestBody?: never;
9637
- responses: {
9638
- /** @description OK */
9639
- 200: {
9640
- headers: {
9641
- [name: string]: unknown;
9642
- };
9643
- content: {
9644
- "application/json": components["schemas"]["EvalRecord"];
9645
- };
9646
- };
9647
- };
9648
- };
9649
- put?: never;
9650
- post?: never;
9651
- delete?: never;
9652
- options?: never;
9653
- head?: never;
9654
- patch?: never;
9655
- trace?: never;
9656
- };
9657
9653
  "/ordered-data-stores/v1/universes/{universeId}/orderedDataStores/{orderedDataStore}/scopes/{scope}/entries": {
9658
9654
  parameters: {
9659
9655
  query?: never;
@@ -11445,6 +11441,7 @@ export interface paths {
11445
11441
  * @description 3: The request did not contain a file to be uploaded.
11446
11442
  * 4: The file in the request is too large.
11447
11443
  * 5: The duration of the audio file is too long.
11444
+ * 7: Failed to parse the file.
11448
11445
  * 8: The file type is not supported.
11449
11446
  * 9: The file is corrupted
11450
11447
  * 11: Missing permissions to spend group funds.
@@ -11481,10 +11478,7 @@ export interface paths {
11481
11478
  };
11482
11479
  content?: never;
11483
11480
  };
11484
- /**
11485
- * @description 7: Failed to parse the file.
11486
- * 19: Asset creation was unavailable. Please try again.
11487
- */
11481
+ /** @description 19: Asset creation was unavailable. Please try again. */
11488
11482
  500: {
11489
11483
  headers: {
11490
11484
  [name: string]: unknown;
@@ -11538,6 +11532,7 @@ export interface paths {
11538
11532
  * @description 3: The request did not contain a file to be uploaded.
11539
11533
  * 4: The file in the request is too large.
11540
11534
  * 5: The duration of the audio file is too long.
11535
+ * 7: Failed to parse the file.
11541
11536
  * 8: The file type is not supported.
11542
11537
  * 9: The file is corrupted
11543
11538
  * 18: Too many requests. Try again later.
@@ -11565,13 +11560,6 @@ export interface paths {
11565
11560
  };
11566
11561
  content?: never;
11567
11562
  };
11568
- /** @description 7: Failed to parse the file. */
11569
- 500: {
11570
- headers: {
11571
- [name: string]: unknown;
11572
- };
11573
- content?: never;
11574
- };
11575
11563
  };
11576
11564
  };
11577
11565
  delete?: never;
@@ -19318,6 +19306,8 @@ export interface paths {
19318
19306
  query: {
19319
19307
  /** @description A list of universe Ids. Cannot exceed a maximum of 50 IDs. */
19320
19308
  universeIds: number[];
19309
+ /** @description Optional comma-separated list of field names to include in the response. When omitted, all fields are returned. */
19310
+ fields?: string;
19321
19311
  };
19322
19312
  header?: never;
19323
19313
  path?: never;
@@ -28382,13 +28372,6 @@ export interface paths {
28382
28372
  "text/json": components["schemas"]["Roblox.Api.Avatar.Models.AvatarApiSuccessResponse"];
28383
28373
  };
28384
28374
  };
28385
- /** @description 1: The specified userOutfitId is invalid! */
28386
- 400: {
28387
- headers: {
28388
- [name: string]: unknown;
28389
- };
28390
- content?: never;
28391
- };
28392
28375
  /** @description 0: Authorization has been denied for this request. */
28393
28376
  401: {
28394
28377
  headers: {
@@ -28406,6 +28389,13 @@ export interface paths {
28406
28389
  };
28407
28390
  content?: never;
28408
28391
  };
28392
+ /** @description 1: The specified userOutfitId is invalid! */
28393
+ 404: {
28394
+ headers: {
28395
+ [name: string]: unknown;
28396
+ };
28397
+ content?: never;
28398
+ };
28409
28399
  /** @description 3: An error occurred while deleting the outfit. */
28410
28400
  500: {
28411
28401
  headers: {
@@ -28453,10 +28443,7 @@ export interface paths {
28453
28443
  "text/json": components["schemas"]["Roblox.Api.Avatar.Models.OutfitDetailsModel"];
28454
28444
  };
28455
28445
  };
28456
- /**
28457
- * @description 1: The specified userOutfitId is invalid.
28458
- * 2: The outfit for the specified userOutfit is invalid.
28459
- */
28446
+ /** @description 2: The outfit for the specified userOutfit is invalid. */
28460
28447
  400: {
28461
28448
  headers: {
28462
28449
  [name: string]: unknown;
@@ -28470,6 +28457,13 @@ export interface paths {
28470
28457
  };
28471
28458
  content?: never;
28472
28459
  };
28460
+ /** @description 1: The specified userOutfitId is invalid. */
28461
+ 404: {
28462
+ headers: {
28463
+ [name: string]: unknown;
28464
+ };
28465
+ content?: never;
28466
+ };
28473
28467
  };
28474
28468
  };
28475
28469
  put?: never;
@@ -31668,6 +31662,90 @@ export interface paths {
31668
31662
  };
31669
31663
  trace?: never;
31670
31664
  };
31665
+ "/v1/supported-languages/games/{gameId}/languages/{languageCode}/image-translation-status": {
31666
+ parameters: {
31667
+ query?: never;
31668
+ header?: never;
31669
+ path?: never;
31670
+ cookie?: never;
31671
+ };
31672
+ get?: never;
31673
+ put?: never;
31674
+ post?: never;
31675
+ delete?: never;
31676
+ options?: never;
31677
+ head?: never;
31678
+ /** Enable or disable image translation for a game and language. */
31679
+ patch: {
31680
+ parameters: {
31681
+ query?: never;
31682
+ header?: never;
31683
+ path: {
31684
+ /** @description The id of the game. */
31685
+ gameId: number;
31686
+ /** @description The language to enable or disable for image translation. */
31687
+ languageCode: string;
31688
+ };
31689
+ cookie?: never;
31690
+ };
31691
+ /** @description Flag to indicate if image translation should be enabled or disabled. */
31692
+ requestBody: {
31693
+ content: {
31694
+ "application/json": boolean;
31695
+ "text/json": boolean;
31696
+ };
31697
+ };
31698
+ responses: {
31699
+ /** @description OK */
31700
+ 200: {
31701
+ headers: {
31702
+ [name: string]: unknown;
31703
+ };
31704
+ content: {
31705
+ "application/json": components["schemas"]["Roblox.GameInternationalization.Api.EditImageTranslationStatusForGameAndLanguageResponse"];
31706
+ "text/json": components["schemas"]["Roblox.GameInternationalization.Api.EditImageTranslationStatusForGameAndLanguageResponse"];
31707
+ };
31708
+ };
31709
+ /**
31710
+ * @description 14: Invalid game id
31711
+ * 22: Invalid language code
31712
+ * 53: Language is not supported for the game.
31713
+ * 93: Image translation cannot be enabled for language.
31714
+ */
31715
+ 400: {
31716
+ headers: {
31717
+ [name: string]: unknown;
31718
+ };
31719
+ content?: never;
31720
+ };
31721
+ /** @description 0: Authorization has been denied for this request. */
31722
+ 401: {
31723
+ headers: {
31724
+ [name: string]: unknown;
31725
+ };
31726
+ content?: never;
31727
+ };
31728
+ /**
31729
+ * @description 0: Token Validation Failed
31730
+ * 18: You do not have permission to manage this game
31731
+ */
31732
+ 403: {
31733
+ headers: {
31734
+ [name: string]: unknown;
31735
+ };
31736
+ content?: never;
31737
+ };
31738
+ /** @description 17: Feature is disabled */
31739
+ 503: {
31740
+ headers: {
31741
+ [name: string]: unknown;
31742
+ };
31743
+ content?: never;
31744
+ };
31745
+ };
31746
+ };
31747
+ trace?: never;
31748
+ };
31671
31749
  "/v1/supported-languages/games/{gameId}/languages/{languageCode}/universe-display-info-automatic-translation-settings": {
31672
31750
  parameters: {
31673
31751
  query?: never;
@@ -43783,6 +43861,8 @@ export interface paths {
43783
43861
  * 8: Invalid assetIds
43784
43862
  * 9: Meta does not apply to specified asset type
43785
43863
  * 10: Required meta is not provided for the specific asset type
43864
+ * 12: Outfit type invalid or not permitted
43865
+ * 13: Invalid Scale
43786
43866
  */
43787
43867
  400: {
43788
43868
  headers: {
@@ -43874,14 +43954,14 @@ export interface paths {
43874
43954
  };
43875
43955
  };
43876
43956
  /**
43877
- * @description 1: The specified userOutfit does not exist!
43878
- * 1: Must provide both assetIds and bodyColors in to update outfit contents.
43879
- * 3: Body colors must be valid BrickColor IDs
43957
+ * @description 3: Body colors must be valid BrickColor IDs
43880
43958
  * 4: Invalid outfit name
43881
43959
  * 5: Asset is not wearable by you
43882
43960
  * 8: Invalid Player Avatar Type. Valid types are R6 and R15
43883
43961
  * 11: Meta does not apply to specified asset type
43884
43962
  * 12: Meta is required for this specific asset type
43963
+ * 13: Invalid Outfit Type
43964
+ * 14: Invalid scale
43885
43965
  */
43886
43966
  400: {
43887
43967
  headers: {
@@ -43906,6 +43986,13 @@ export interface paths {
43906
43986
  };
43907
43987
  content?: never;
43908
43988
  };
43989
+ /** @description 1: The specified userOutfit does not exist! */
43990
+ 404: {
43991
+ headers: {
43992
+ [name: string]: unknown;
43993
+ };
43994
+ content?: never;
43995
+ };
43909
43996
  /** @description 6: An error occurred while trying to update the outfit */
43910
43997
  500: {
43911
43998
  headers: {
@@ -48081,6 +48168,8 @@ export interface paths {
48081
48168
  * 8: Invalid assetIds
48082
48169
  * 9: Meta does not apply to specified asset type
48083
48170
  * 10: Required meta is not provided for the specific asset type
48171
+ * 12: Outfit type invalid or not permitted
48172
+ * 13: Invalid Scale
48084
48173
  */
48085
48174
  400: {
48086
48175
  headers: {
@@ -48169,14 +48258,14 @@ export interface paths {
48169
48258
  };
48170
48259
  };
48171
48260
  /**
48172
- * @description 1: The specified userOutfit does not exist!
48173
- * 1: Must provide both assetIds and bodyColors in to update outfit contents.
48174
- * 3: Body colors must be valid BrickColor IDs
48261
+ * @description 3: Body colors must be valid BrickColor IDs
48175
48262
  * 4: Invalid outfit name
48176
48263
  * 5: Asset is not wearable by you
48177
48264
  * 8: Invalid Player Avatar Type. Valid types are R6 and R15
48178
48265
  * 11: Meta does not apply to specified asset type
48179
48266
  * 12: Meta is required for this specific asset type
48267
+ * 13: Invalid Outfit Type
48268
+ * 14: Invalid scale
48180
48269
  */
48181
48270
  400: {
48182
48271
  headers: {
@@ -48201,6 +48290,13 @@ export interface paths {
48201
48290
  };
48202
48291
  content?: never;
48203
48292
  };
48293
+ /** @description 1: The specified userOutfit does not exist! */
48294
+ 404: {
48295
+ headers: {
48296
+ [name: string]: unknown;
48297
+ };
48298
+ content?: never;
48299
+ };
48204
48300
  /** @description 6: An error occurred while trying to update the outfit */
48205
48301
  500: {
48206
48302
  headers: {
@@ -48247,10 +48343,7 @@ export interface paths {
48247
48343
  "text/json": components["schemas"]["Roblox.Api.Avatar.Models.OutfitDetailsModelV2"];
48248
48344
  };
48249
48345
  };
48250
- /**
48251
- * @description 1: The specified userOutfitId is invalid.
48252
- * 2: The outfit for the specified userOutfit is invalid.
48253
- */
48346
+ /** @description 2: The outfit for the specified userOutfit is invalid. */
48254
48347
  400: {
48255
48348
  headers: {
48256
48349
  [name: string]: unknown;
@@ -48264,6 +48357,13 @@ export interface paths {
48264
48357
  };
48265
48358
  content?: never;
48266
48359
  };
48360
+ /** @description 1: The specified userOutfitId is invalid. */
48361
+ 404: {
48362
+ headers: {
48363
+ [name: string]: unknown;
48364
+ };
48365
+ content?: never;
48366
+ };
48267
48367
  };
48268
48368
  };
48269
48369
  put?: never;
@@ -49123,20 +49223,6 @@ export interface components {
49123
49223
  CurrencyHolderType: "Undefined" | "User" | "Group" | "UserKey";
49124
49224
  /** @enum {string} */
49125
49225
  CursorPagingDirection: "Forward" | "Backward";
49126
- /** @description Contains information to override the default LLM endpoint and credentials. */
49127
- CustomLlmInfo: {
49128
- /** @description The name of the custom LLM provider (claude, gemini, openai). */
49129
- name: string;
49130
- /**
49131
- * @description The specific model version to use (e.g., "gemini-2.5-pro-preview-03-25").
49132
- * If not provided, falls back to the provider name.
49133
- */
49134
- model_version?: string | null;
49135
- /** @description The custom LLM endpoint URL. */
49136
- url: string;
49137
- /** @description The API key to access the custom LLM. */
49138
- api_key?: string | null;
49139
- };
49140
49226
  /** @description The custom signal configuration using a developer created attribute. */
49141
49227
  CustomSignalConfiguration: {
49142
49228
  /** @description The name of the signal. */
@@ -49478,56 +49564,6 @@ export interface components {
49478
49564
  /** @description A hint as to what caused the error, if applicable. */
49479
49565
  hint?: string | null;
49480
49566
  };
49481
- EvalJsonRecord: {
49482
- /** Format: int32 */
49483
- passes?: number;
49484
- /** Format: int32 */
49485
- fails?: number;
49486
- /** Format: int32 */
49487
- checks?: number;
49488
- warning?: string | null;
49489
- error?: string | null;
49490
- interruptions?: components["schemas"]["InterruptionRecord"][] | null;
49491
- };
49492
- EvalRecord: {
49493
- /** Format: int64 */
49494
- id?: number;
49495
- name: string | null;
49496
- user?: components["schemas"]["StudioModelEvaluations.User"];
49497
- useReferenceMode?: string | null;
49498
- description?: string | null;
49499
- /** Format: uuid */
49500
- jobId: string;
49501
- inputScript: string | null;
49502
- jobStatus?: string | null;
49503
- results?: components["schemas"]["EvalResultRecord"][] | null;
49504
- fullLogs?: string | null;
49505
- evalSucceeded?: string | null;
49506
- createUtc?: string | null;
49507
- };
49508
- /** @description The request model for the evaluation. */
49509
- EvalRequest: {
49510
- name: string;
49511
- description?: string | null;
49512
- use_reference_mode?: boolean;
49513
- input_script: string;
49514
- custom_llm_info?: components["schemas"]["CustomLlmInfo"];
49515
- };
49516
- /** @description The response model for the evaluation. */
49517
- EvalResponse: {
49518
- job_id?: string | null;
49519
- /**
49520
- * Format: int32
49521
- * @description Gets or sets the status code of the response.
49522
- */
49523
- status_code?: number;
49524
- /** @description Gets or sets the error message associated with the response. */
49525
- error?: string | null;
49526
- };
49527
- EvalResultRecord: {
49528
- mode?: string | null;
49529
- result?: components["schemas"]["EvalJsonRecord"];
49530
- };
49531
49567
  /**
49532
49568
  * @description Enum describing the different available filter fields.
49533
49569
  * @enum {string}
@@ -50513,11 +50549,6 @@ export interface components {
50513
50549
  /** Format: int32 */
50514
50550
  count?: number;
50515
50551
  };
50516
- InterruptionRecord: {
50517
- /** Format: int32 */
50518
- readonly check?: number;
50519
- readonly type?: string | null;
50520
- };
50521
50552
  /** @description Represents an item in a user's inventory. */
50522
50553
  InventoryItem: {
50523
50554
  /**
@@ -51758,6 +51789,11 @@ export interface components {
51758
51789
  expirationDate?: string;
51759
51790
  willRenew?: boolean;
51760
51791
  universeName?: string | null;
51792
+ /** Format: int64 */
51793
+ purchaseScheduleId?: number | null;
51794
+ /** Format: int64 */
51795
+ totalDiscountAmountInRobux?: number | null;
51796
+ metadata?: components["schemas"]["PrivateServerSubscriptionMetadata"] | null;
51761
51797
  };
51762
51798
  MyPrivateServersResponse: {
51763
51799
  nextPageCursor?: string | null;
@@ -52261,6 +52297,9 @@ export interface components {
52261
52297
  voiceSettings?: components["schemas"]["PrivateServerVoiceSettingsResponse"] | null;
52262
52298
  link?: string | null;
52263
52299
  };
52300
+ PrivateServerSubscriptionMetadata: {
52301
+ privateServerSubscriptionTags?: components["schemas"]["PrivateServerSubscriptionTag"][] | null;
52302
+ };
52264
52303
  PrivateServerSubscriptionResponse: {
52265
52304
  active?: boolean;
52266
52305
  expired?: boolean;
@@ -52272,7 +52311,14 @@ export interface components {
52272
52311
  hasInsufficientFunds?: boolean;
52273
52312
  hasRecurringProfile?: boolean;
52274
52313
  hasPriceChanged?: boolean;
52314
+ /** Format: int64 */
52315
+ purchaseScheduleId?: number | null;
52316
+ /** Format: int64 */
52317
+ totalDiscountAmountInRobux?: number | null;
52318
+ metadata?: components["schemas"]["PrivateServerSubscriptionMetadata"] | null;
52275
52319
  };
52320
+ /** @enum {string} */
52321
+ PrivateServerSubscriptionTag: "Invalid" | "RobloxSubscription";
52276
52322
  PrivateServerUpdatePermissionsRequest: {
52277
52323
  clanAllowed?: boolean | null;
52278
52324
  /** Format: int64 */
@@ -55617,6 +55663,7 @@ export interface components {
55617
55663
  product?: components["schemas"]["Roblox.Catalog.Api.BundleProductModel"];
55618
55664
  itemRestrictions?: (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9)[];
55619
55665
  collectibleItemDetail?: components["schemas"]["Roblox.Catalog.Api.CollectibleItemDetail"];
55666
+ discountInformation?: components["schemas"]["Roblox.Catalog.Api.DiscountInformation"];
55620
55667
  };
55621
55668
  /** @description A model to represent bundle favorites. */
55622
55669
  "Roblox.Catalog.Api.BundleFavoriteModel": {
@@ -55698,7 +55745,7 @@ export interface components {
55698
55745
  * @description The Roblox.Platform.Assets.AssetType serialized if item is an asset.
55699
55746
  * @enum {integer}
55700
55747
  */
55701
- assetType?: 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;
55748
+ assetType?: 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;
55702
55749
  /**
55703
55750
  * Format: int32
55704
55751
  * @description The Roblox.Platform.Bundles.Core.BundleType serialized if item is a bundle.
@@ -55826,7 +55873,7 @@ export interface components {
55826
55873
  * @description The Roblox.Platform.Assets.AssetType serialized if item is an asset.
55827
55874
  * @enum {integer}
55828
55875
  */
55829
- assetType?: 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;
55876
+ assetType?: 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;
55830
55877
  /**
55831
55878
  * Format: int32
55832
55879
  * @description The Roblox.Platform.Bundles.Core.BundleType serialized if item is a bundle.
@@ -56005,6 +56052,23 @@ export interface components {
56005
56052
  */
56006
56053
  resaleRestriction?: 0 | 1 | 2;
56007
56054
  };
56055
+ "Roblox.Catalog.Api.Discount": {
56056
+ /** Format: int64 */
56057
+ robuxDiscountAmount?: number;
56058
+ /** Format: float */
56059
+ robuxDiscountPercentage?: number;
56060
+ discountCampaign?: string;
56061
+ localizedDiscountAttribution?: string;
56062
+ };
56063
+ "Roblox.Catalog.Api.DiscountInformation": {
56064
+ /** Format: int64 */
56065
+ originalPrice?: number;
56066
+ /** Format: float */
56067
+ totalDiscountPercentage?: number;
56068
+ /** Format: int64 */
56069
+ totalDiscountAmount?: number;
56070
+ discounts?: components["schemas"]["Roblox.Catalog.Api.Discount"][];
56071
+ };
56008
56072
  "Roblox.Catalog.Api.ElasticsearchDebugInfo": {
56009
56073
  /** @description Gets or sets the nest query that resulted from the operation. */
56010
56074
  elasticsearchQuery?: string;
@@ -56124,6 +56188,7 @@ export interface components {
56124
56188
  * @description The price for the timed option.
56125
56189
  */
56126
56190
  price?: number;
56191
+ discountInformation?: components["schemas"]["Roblox.Catalog.Api.DiscountInformation"];
56127
56192
  /** @description To indicate if this option is selected by the client. */
56128
56193
  selected?: boolean;
56129
56194
  };
@@ -56170,6 +56235,13 @@ export interface components {
56170
56235
  /** @description True if the channel supports android binaries. False otherwise. */
56171
56236
  supportsAndroidBinaries?: boolean;
56172
56237
  };
56238
+ /** @description Beta program information included in the user channel response. */
56239
+ "Roblox.ClientSettings.Api.Models.Response.BetaProgramInfo": {
56240
+ /** @description The display name of the beta program. */
56241
+ name?: string;
56242
+ /** @description The ID of the beta program. */
56243
+ id?: string;
56244
+ };
56173
56245
  "Roblox.ClientSettings.Api.Models.Response.ClientVersionResponse": {
56174
56246
  version?: string;
56175
56247
  clientVersionUpload?: string;
@@ -56234,6 +56306,7 @@ export interface components {
56234
56306
  channelAssignmentType?: 0 | 1 | 2 | 3 | 4 | 5;
56235
56307
  /** @description JWT token. If the channel is not private, this is omitted. */
56236
56308
  token?: string;
56309
+ program?: components["schemas"]["Roblox.ClientSettings.Api.Models.Response.BetaProgramInfo"];
56237
56310
  };
56238
56311
  "Roblox.Contacts.Api.Models.Response.ContactsMetadataResponseModel": {
56239
56312
  /** Format: int32 */
@@ -56698,6 +56771,17 @@ export interface components {
56698
56771
  /** @description Indicates whether or not automatic translation is currently enabled for the game and language. */
56699
56772
  isAutomaticTranslationEnabled?: boolean;
56700
56773
  };
56774
+ "Roblox.GameInternationalization.Api.EditImageTranslationStatusForGameAndLanguageResponse": {
56775
+ /**
56776
+ * Format: int64
56777
+ * @description The game id.
56778
+ */
56779
+ gameId?: number;
56780
+ /** @description The language code. */
56781
+ languageCode?: string;
56782
+ /** @description Indicates whether image translation is currently enabled for the game and language. */
56783
+ isImageTranslationEnabled?: boolean;
56784
+ };
56701
56785
  "Roblox.GameInternationalization.Api.FailedNameDescription": {
56702
56786
  languageCode?: string;
56703
56787
  /** Format: int32 */
@@ -56866,6 +56950,8 @@ export interface components {
56866
56950
  languageCode?: string;
56867
56951
  /** @description Indicates whether or not automatic translation is currently enabled for the game and language. */
56868
56952
  isAutomaticTranslationEnabled?: boolean;
56953
+ /** @description Indicates whether image translation is currently enabled for the game and language. */
56954
+ isImageTranslationEnabled?: boolean;
56869
56955
  };
56870
56956
  "Roblox.GameInternationalization.Api.LanguageWithLocales": {
56871
56957
  languageFamily?: components["schemas"]["Roblox.GameInternationalization.Api.Language"];
@@ -57262,6 +57348,14 @@ export interface components {
57262
57348
  /** @description true for favor the game, false for unfavor the game. */
57263
57349
  isFavorited?: boolean;
57264
57350
  };
57351
+ /** @description Response model for game-level content metadata. */
57352
+ "Roblox.Games.Api.Models.Response.GameContentMetadataResponseModel": {
57353
+ badgePosition?: string;
57354
+ badgeAnalyticsId?: string;
57355
+ badgeType?: string;
57356
+ badgeIcon?: string;
57357
+ badgeComponentType?: string;
57358
+ };
57265
57359
  /** @description Response model for getting the game creator */
57266
57360
  "Roblox.Games.Api.Models.Response.GameCreator": {
57267
57361
  /**
@@ -57368,6 +57462,11 @@ export interface components {
57368
57462
  refundLink?: string;
57369
57463
  localizedFiatPrice?: string;
57370
57464
  refundPolicy?: components["schemas"]["Roblox.Games.Api.Models.Response.RefundPolicy"];
57465
+ /**
57466
+ * @description Canonical URL path for the game page, e.g. /games/{placeId}/{canonical-slug}.
57467
+ * It must be the same as the canonical URL (rel-canonical meta tag) on the game's EDP.
57468
+ */
57469
+ canonicalUrlPath?: string;
57371
57470
  };
57372
57471
  /** @description Game favorite response model. */
57373
57472
  "Roblox.Games.Api.Models.Response.GameFavoriteResponse": {
@@ -57513,6 +57612,7 @@ export interface components {
57513
57612
  minimumAge?: number;
57514
57613
  /** @description Age Recommendation display name. */
57515
57614
  ageRecommendationDisplayName?: string;
57615
+ contentMetadata?: components["schemas"]["Roblox.Games.Api.Models.Response.GameContentMetadataResponseModel"];
57516
57616
  /**
57517
57617
  * @description Canonical URL path for the game page, e.g. /games/{placeId}/{canonical-slug}.
57518
57618
  * It must be the same as the canonical URL (rel-canonical meta tag) on the game's EDP.
@@ -57572,10 +57672,10 @@ export interface components {
57572
57672
  "Roblox.Games.Api.Models.Response.PlayabilityStatusResponse": {
57573
57673
  /**
57574
57674
  * Format: int32
57575
- * @description The actual playability status of the universe including the reason if unplayable ['UnplayableOtherReason' = 0, 'Playable' = 1, 'GuestProhibited' = 2, 'GameUnapproved' = 3, 'IncorrectConfiguration' = 4, 'UniverseRootPlaceIsPrivate' = 5, 'InsufficientPermissionFriendsOnly' = 6, 'InsufficientPermissionGroupOnly' = 7, 'DeviceRestricted' = 8, 'UnderReview' = 9, 'PurchaseRequired' = 10, 'AccountRestricted' = 11, 'TemporarilyUnavailable' = 12, 'PlaceHasNoPublishedVersion' = 13, 'ComplianceBlocked' = 14, 'ContextualPlayabilityRegionalAvailability' = 15, 'ContextualPlayabilityRegionalCompliance' = 16, 'ContextualPlayabilityAgeRecommendationParentalControls' = 17, 'ContextualPlayabilityExperienceBlockedParentalControls' = 18, 'ContextualPlayabilityAgeGated' = 19, 'ContextualPlayabilityUnverifiedSeventeenPlusUser' = 20, 'FiatPurchaseRequired' = 21, 'FiatPurchaseDeviceRestricted' = 22, 'ContextualPlayabilityUnrated' = 23, 'ContextualPlayabilityAgeGatedByDescriptor' = 24, 'ContextualPlayabilityGeneral' = 25]
57675
+ * @description The actual playability status of the universe including the reason if unplayable ['UnplayableOtherReason' = 0, 'Playable' = 1, 'GuestProhibited' = 2, 'GameUnapproved' = 3, 'IncorrectConfiguration' = 4, 'UniverseRootPlaceIsPrivate' = 5, 'InsufficientPermissionFriendsOnly' = 6, 'InsufficientPermissionGroupOnly' = 7, 'DeviceRestricted' = 8, 'UnderReview' = 9, 'PurchaseRequired' = 10, 'AccountRestricted' = 11, 'TemporarilyUnavailable' = 12, 'PlaceHasNoPublishedVersion' = 13, 'ComplianceBlocked' = 14, 'ContextualPlayabilityRegionalAvailability' = 15, 'ContextualPlayabilityRegionalCompliance' = 16, 'ContextualPlayabilityAgeRecommendationParentalControls' = 17, 'ContextualPlayabilityExperienceBlockedParentalControls' = 18, 'ContextualPlayabilityAgeGated' = 19, 'ContextualPlayabilityUnverifiedSeventeenPlusUser' = 20, 'FiatPurchaseRequired' = 21, 'FiatPurchaseDeviceRestricted' = 22, 'ContextualPlayabilityUnrated' = 23, 'ContextualPlayabilityAgeGatedByDescriptor' = 24, 'ContextualPlayabilityGeneral' = 25, 'ContextualPlayabilityAgeCheckRequired' = 26, 'ContextualPlayabilityRequireParentApproval' = 27, 'ContextualPlayabilityCoreGated' = 28]
57576
57676
  * @enum {integer}
57577
57677
  */
57578
- playabilityStatus?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25;
57678
+ playabilityStatus?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28;
57579
57679
  /** @description Whether or not the universe is playable for the user */
57580
57680
  isPlayable?: boolean;
57581
57681
  /**
@@ -57586,6 +57686,7 @@ export interface components {
57586
57686
  /** @description Localized display text explaining why unplayable */
57587
57687
  unplayableDisplayText?: string;
57588
57688
  playableUxTreatment?: components["schemas"]["Roblox.Games.Api.Models.Response.PlayableUxTreatment"];
57689
+ upsellUxTreatment?: components["schemas"]["Roblox.Games.Api.Models.Response.UpsellUxTreatment"];
57589
57690
  };
57590
57691
  "Roblox.Games.Api.Models.Response.PlayableUxTreatment": {
57591
57692
  treatment?: string;
@@ -57616,6 +57717,32 @@ export interface components {
57616
57717
  /** @description Zendesk (or similar forum provider) article ID for the client to build a redirect URL. */
57617
57718
  articleId?: string;
57618
57719
  };
57720
+ /**
57721
+ * @description Upsell UX treatment metadata appended to a playability response when an experience is
57722
+ * currently playable but will be restricted under upcoming Roblox-Core content rules.
57723
+ * Mirrors the existing Roblox.Games.Api.Models.Response.PlayableUxTreatment contract intentionally so client
57724
+ * rendering can be unified.
57725
+ */
57726
+ "Roblox.Games.Api.Models.Response.UpsellUxTreatment": {
57727
+ /**
57728
+ * @description Identifier of the client component to render (currently "ageCheckUpsell").
57729
+ * Absent when the upsell should not surface.
57730
+ */
57731
+ treatment?: string;
57732
+ data?: components["schemas"]["Roblox.Games.Api.Models.Response.UpsellUxTreatmentData"];
57733
+ };
57734
+ /**
57735
+ * @description Localized strings for an Roblox.Games.Api.Models.Response.UpsellUxTreatment. Currently only carries
57736
+ * Roblox.Games.Api.Models.Response.UpsellUxTreatmentData.BodyText; structured to allow additional fields without breaking the
57737
+ * JSON contract.
57738
+ */
57739
+ "Roblox.Games.Api.Models.Response.UpsellUxTreatmentData": {
57740
+ /**
57741
+ * @description Localized body text for the upsell banner (e.g. "You'll soon need an age check to
57742
+ * join this game.").
57743
+ */
57744
+ bodyText?: string;
57745
+ };
57619
57746
  /** @description A response model specific to multi-get user. */
57620
57747
  "Roblox.Games.Api.Models.Response.VerifiedBadgeUserResponse": {
57621
57748
  /** @description The user's verified badge status. */
@@ -58221,6 +58348,13 @@ export interface components {
58221
58348
  slowmode?: 0 | 1 | 2 | 3;
58222
58349
  /** @description Whether the group member list is visible to public. */
58223
58350
  isMemberListVisibleToPublic?: boolean;
58351
+ /**
58352
+ * @description Whether automatic assignment of the lowest non-guest role is disabled for this group.
58353
+ * For non-legacy groups (created after the multi-role cutoff), this is always true.
58354
+ * For legacy groups, reflects the persisted GroupFeatureSettings value.
58355
+ * Null when the value could not be determined.
58356
+ */
58357
+ isAutoAssignRoleDisabled?: boolean;
58224
58358
  };
58225
58359
  /** @description A response model for group wall post information */
58226
58360
  "Roblox.Groups.Api.GroupWallPostV2Model": {
@@ -60999,10 +61133,10 @@ export interface components {
60999
61133
  id?: number;
61000
61134
  /**
61001
61135
  * Format: int32
61002
- * @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]
61136
+ * @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]
61003
61137
  * @enum {integer}
61004
61138
  */
61005
- 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;
61139
+ 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;
61006
61140
  name?: string;
61007
61141
  };
61008
61142
  "Roblox.Web.Responses.RelatedEntityTypeResponse_Roblox.Platform.Badges.BadgeAwarderType_": {
@@ -61398,8 +61532,8 @@ export interface components {
61398
61532
  /** @description The search terms used to filter the results. Only one of 'query' and 'image' can be present in a query. */
61399
61533
  query?: string | null;
61400
61534
  /**
61401
- * Format: binary
61402
- * @description The image file to search by. Only one of 'query' and 'image' can be present in a query.
61535
+ * Format: byte
61536
+ * @description The image file to search by. The image must be base64 encoded to be used in the search. Only one of 'query' and 'image' can be present in a query.
61403
61537
  */
61404
61538
  image?: string | null;
61405
61539
  /**
@@ -61659,7 +61793,7 @@ export interface components {
61659
61793
  * @description Defines the different types of servers
61660
61794
  * @enum {integer}
61661
61795
  */
61662
- ServerType: 0 | 1 | 2 | 3;
61796
+ ServerType: 0 | 1 | 2 | 3 | 4 | 5;
61663
61797
  /** @description Response to set the matchmaking scoring configuration. */
61664
61798
  SetMatchmakingScoringConfigurationResponse: {
61665
61799
  scoringConfiguration?: components["schemas"]["MatchmakingScoringConfiguration"];
@@ -61817,9 +61951,6 @@ export interface components {
61817
61951
  key?: string | null;
61818
61952
  value?: string[] | null;
61819
61953
  };
61820
- "StudioModelEvaluations.User": {
61821
- readonly id?: string | null;
61822
- };
61823
61954
  /** @enum {string} */
61824
61955
  SubjectType: "Invalid" | "User" | "Group" | "GroupRoleset" | "All" | "Universe";
61825
61956
  /**
@@ -62042,6 +62173,7 @@ export interface components {
62042
62173
  details?: components["schemas"]["TransactionDetailsResponse"] | null;
62043
62174
  currency?: components["schemas"]["GenericCurrencyResponse"] | null;
62044
62175
  purchaseToken?: string | null;
62176
+ transactionSubtype?: string | null;
62045
62177
  };
62046
62178
  TransactionRecordResponseApiPageResponse: {
62047
62179
  previousPageCursor?: string | null;
@@ -62128,7 +62260,7 @@ export interface components {
62128
62260
  licensingPaymentClawbackOutgoingTotal?: number;
62129
62261
  };
62130
62262
  /** @enum {string} */
62131
- TransactionType: "Undefined" | "Sale" | "Purchase" | "AffiliateSale" | "DevEx" | "GroupPayout" | "AdImpressionPayout" | "CurrencyPurchase" | "TradeRobux" | "PremiumStipend" | "PendingRobux" | "EngagementPayout" | "GroupEngagementPayout" | "AdSpend" | "Summary" | "IndividualToGroup" | "CSAdjustment" | "AdsRevsharePayout" | "GroupAdsRevsharePayout" | "SubscriptionsRevsharePayout" | "GroupSubscriptionsRevsharePayout" | "SubscriptionsRevshareClawback" | "GroupSubscriptionsRevshareClawback" | "PublishingAdvanceRebates" | "AffiliatePayout" | "LicensingPayment" | "LicensingPaymentClawback";
62263
+ TransactionType: "Undefined" | "Sale" | "Purchase" | "AffiliateSale" | "DevEx" | "GroupPayout" | "AdImpressionPayout" | "CurrencyPurchase" | "TradeRobux" | "PremiumStipend" | "PendingRobux" | "EngagementPayout" | "GroupEngagementPayout" | "AdSpend" | "Summary" | "IndividualToGroup" | "CSAdjustment" | "AdsRevsharePayout" | "GroupAdsRevsharePayout" | "SubscriptionsRevsharePayout" | "GroupSubscriptionsRevsharePayout" | "SubscriptionsRevshareClawback" | "GroupSubscriptionsRevshareClawback" | "PublishingAdvanceRebates" | "AffiliatePayout" | "LicensingPayment" | "LicensingPaymentClawback" | "CurrencyTransfer";
62132
62264
  TransactionUsedTypesResponse: {
62133
62265
  HasPurchase?: boolean;
62134
62266
  HasSale?: boolean;
@@ -62151,6 +62283,7 @@ export interface components {
62151
62283
  HasGroupSubscriptionsRevsharePayout?: boolean;
62152
62284
  HasPublishingAdvanceRebates?: boolean;
62153
62285
  HasLicensingPayment?: boolean;
62286
+ HasTransfer?: boolean;
62154
62287
  };
62155
62288
  /**
62156
62289
  * @description Contains the text to be translated, the source language (optional), and a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jacobhumston/roblox-openapi-ts",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "An automatically updated Roblox API client based on their OpenAPI documentation.",
5
5
  "keywords": [
6
6
  "roblox",