|
| 1 | +--- |
| 2 | +title: Legacy Overview |
| 3 | +description: Lists legacy REST APIs for Open Cloud. |
| 4 | +--- |
| 5 | + |
| 6 | +Roblox offers [API key](./open-cloud/api-keys.md) and/or [OAuth 2.0](./open-cloud/oauth2-overview.md) support for certain legacy APIs. Instead of sharing cookies, you can grant access to specific permissions and use these more secure authentication methods. |
| 7 | + |
| 8 | +These legacy APIs support do not have the same guarantees as the newer Open Cloud APIs. **Specifically, they might change without notice and break your application.** |
| 9 | + |
| 10 | +This page summarizes the available operations, but you might find the Swagger documentation useful, as well: |
| 11 | + |
| 12 | +- [Badges API](https://badges.roblox.com/docs/) |
| 13 | +- [Followings API](https://followings.roblox.com/docs/) |
| 14 | +- [Game Internationalization API](https://gameinternationalization.roblox.com/docs/) |
| 15 | +- [Localization Tables API](https://localizationtables.roblox.com/docs/) |
| 16 | +- [Groups API](https://groups.roblox.com/docs/) |
| 17 | +- [Develop API](https://develop.roblox.com/docs/) |
| 18 | + |
| 19 | +## Badges API |
| 20 | + |
| 21 | +- Base URL: `https://apis.roblox.com/legacy-badges` |
| 22 | +- Authentication types: OAuth 2.0 and API key |
| 23 | + |
| 24 | +| **API** | **Path** | **Scope** | |
| 25 | +| :---------- | :-------------------------- | :---------------------------- | |
| 26 | +| UpdateBadge | `PATCH v1/badges/{badgeId}` | `legacy-universe.badge:write` | |
| 27 | + |
| 28 | +## Followings API |
| 29 | + |
| 30 | +- Base URL: `https://apis.roblox.com/legacy-followings` |
| 31 | +- Authentication types: OAuth 2.0 and API key |
| 32 | + |
| 33 | +| **API** | **Path** | **Scope** | |
| 34 | +| :----------------- | :---------------------------------------------------- | :-------------------------------- | |
| 35 | +| Follow | `POST v1/users/{userId}/universes/{universeId}` | `legacy-universe.following:write` | |
| 36 | +| Unfollow | `DELETE v1/users/{userId}/universes/{universeId}` | `legacy-universe.following:write` | |
| 37 | +| GetFollowingStatus | `GET v1/users/{userId}/universes/{universeId}/status` | `legacy-universe.following:read` | |
| 38 | +| GetFollowings | `GET v1/users/{userId}/universes` | `legacy-universe.following:read` | |
| 39 | +| GetFollowingsV2 | `GET v2/users/{userId}/universes` | `legacy-universe.following:read` | |
| 40 | + |
| 41 | +## Game Internationalization API |
| 42 | + |
| 43 | +- Base URL: `https://apis.roblox.com/legacy-game-internationalization` |
| 44 | +- Authentication types: OAuth 2.0 and API key |
| 45 | + |
| 46 | +| **API** | **Path** | **Scope** | |
| 47 | +| :------------------------------------------------ | :------------------------------------------------------------------------------------------------- | :-------------------------------- | |
| 48 | +| GetLocalizedBadgeIcons | `GET v1/badges/{badgeId}/icons` | `legacy-badge:manage` | |
| 49 | +| DeleteLocalizedBadgeIcon | `DELETE v1/badges/{badgeId}/icons/language-codes/{languageCode}` | `legacy-badge:manage` | |
| 50 | +| UpdateLocalizedBadgeIcon | `POST v1/badges/{badgeId}/icons/language-codes/{languageCode}` | `legacy-badge:manage` | |
| 51 | +| GetLocalizedBadgeNamesAndDescriptions | `GET v1/badges/{badgeId}/name-description` | `legacy-badge:manage` | |
| 52 | +| DeleteLocalizedBadgeNameAndDescription | `DELETE v1/badges/{badgeId}/name-description/language-codes/{languageCode}` | `legacy-badge:manage` | |
| 53 | +| UpdateLocalizedBadgeNameAndDescription | `PATCH v1/badges/{badgeId}/name-description/language-codes/{languageCode}` | `legacy-badge:manage` | |
| 54 | +| UpdateLocalizedBadgeName | `PATCH v1/badges/{badgeId}/name/language-codes/{languageCode}` | `legacy-badge:manage` | |
| 55 | +| UpdateLocalizedBadgeDescription | `PATCH v1/badges/{badgeId}/description/language-codes/{languageCode}` | `legacy-badge:manage` | |
| 56 | +| GetLocalizedDeveloperProductIcons | `GET v1/developer-products/{developerProductId}/icons` | `legacy-developer-product:manage` | |
| 57 | +| DeleteLocalizedDeveloperProductIcon | `DELETE v1/developer-products/{developerProductId}/icons/language-codes/{languageCode}` | `legacy-developer-product:manage` | |
| 58 | +| UpdateLocalizedDeveloperProductIcon | `POST v1/developer-products/{developerProductId}/icons/language-codes/{languageCode}` | `legacy-developer-product:manage` | |
| 59 | +| GetLocalizedDeveloperProductNamesAndDescriptions | `GET v1/developer-products/{developerProductId}/name-description` | `legacy-developer-product:manage` | |
| 60 | +| DeleteLocalizedDeveloperProductNameAndDescription | `DELETE v1/developer-products/{developerProductId}/name-description/language-codes/{languageCode}` | `legacy-developer-product:manage` | |
| 61 | +| UpdateLocalizedDeveloperProductNameAndDescription | `PATCH v1/developer-products/{developerProductId}/name-description/language-codes/{languageCode}` | `legacy-developer-product:manage` | |
| 62 | +| UpdateLocalizedDeveloperProductName | `PATCH v1/developer-products/{developerProductId}/name/language-codes/{languageCode}` | `legacy-developer-product:manage` | |
| 63 | +| UpdateLocalizedDeveloperProductDescription | `PATCH v1/developer-products/{developerProductId}/description/language-codes/{languageCode}` | `legacy-developer-product:manage` | |
| 64 | +| GetLocalizedPassIcons | `GET v1/game-passes/{gamePassId}/icons` | `legacy-game-pass:manage` | |
| 65 | +| DeleteLocalizedPassIcon | `DELETE v1/game-passes/{gamePassId}/icons/language-codes/{languageCode}` | `legacy-game-pass:manage` | |
| 66 | +| UpdateLocalizedPassIcon | `POST v1/game-passes/{gamePassId}/icons/language-codes/{languageCode}` | `legacy-game-pass:manage` | |
| 67 | +| GetLocalizedPassNamesAndDescriptions | `GET v1/game-passes/{gamePassId}/name-description` | `legacy-game-pass:manage` | |
| 68 | +| DeleteLocalizedPassNameAndDescription | `DELETE v1/game-passes/{gamePassId}/name-description/language-codes/{languageCode}` | `legacy-game-pass:manage` | |
| 69 | +| UpdateLocalizedPassNameAndDescription | `PATCH v1/game-passes/{gamePassId}/name-description/language-codes/{languageCode}` | `legacy-game-pass:manage` | |
| 70 | +| UpdateLocalizedPassName | `PATCH v1/game-passes/{gamePassId}/name/language-codes/{languageCode}` | `legacy-game-pass:manage` | |
| 71 | +| UpdateLocalizedPassDescription | `PATCH v1/game-passes/{gamePassId}/description/language-codes/{languageCode}` | `legacy-game-pass:manage` | |
| 72 | +| GetLocalizedGameIcons | `GET v1/game-icon/games/{gameId}` | `legacy-universe:manage` | |
| 73 | +| UpdateLocalizedGameIcon | `POST v1/game-icon/games/{gameId}/language-codes/{languageCode}` | `legacy-universe:manage` | |
| 74 | +| DeleteLocalizedGameIcon | `DELETE v1/game-icon/games/{gameId}/language-codes/{languageCode}` | `legacy-universe:manage` | |
| 75 | +| UpdateLocalizedGameThumbnail | `POST v1/game-thumbnails/games/{gameId}/language-codes/{languageCode}/image` | `legacy-universe:manage` | |
| 76 | +| UpdateLocalizedAltTextForGameThumbnail | `POST v1/game-thumbnails/games/{gameId}/language-codes/{languageCode}/alt-text` | `legacy-universe:manage` | |
| 77 | +| DeleteLocalizedGameThumbnail | `DELETE v1/game-thumbnails/games/{gameId}/language-codes/{languageCode}/images/{imageId}` | `legacy-universe:manage` | |
| 78 | +| OrderLocalizedGameThumbnails | `POST v1/game-thumbnails/games/{gameId}/language-codes/{languageCode}/images/order` | `legacy-universe:manage` | |
| 79 | +| UpdateLocalizedGameNameAndDescription | `PATCH v1/name-description/games/{gameId}` | `legacy-universe:manage` | |
| 80 | +| GetLocalizedContentNameAndDescriptionHistory | `POST /v1/name-description/games/translation-history` | `legacy-universe:manage` | |
| 81 | + |
| 82 | +## Localization Tables API |
| 83 | + |
| 84 | +- Base URL: `https://apis.roblox.com/legacy-localization-tables` |
| 85 | +- Authentication types: OAuth 2.0 and API key |
| 86 | + |
| 87 | +| **API** | **Path** | **Scope** | |
| 88 | +| :-------------------------------------- | :------------------------------------------------------------------------ | :----------------------- | |
| 89 | +| GetMetadata | `GET v1/autolocalization/metadata` | `legacy-universe:manage` | |
| 90 | +| GetOrCreateAutolocalizationTableForGame | `POST v1/autolocalization/games/{gameId}/autolocalizationtable` | `legacy-universe:manage` | |
| 91 | +| SetAutolocalizationSettingsForGame | `PATCH v1/autolocalization/games/{gameId}/settings` | `legacy-universe:manage` | |
| 92 | +| GetLimits | `GET v1/localization-table/limits` | `legacy-universe:manage` | |
| 93 | +| GetTableByAssetId | `GET v1/localization-table/tables/{assetId}` | `legacy-universe:manage` | |
| 94 | +| GetTableByTableId | `GET v1/localization-table/tables/{tableId}` | `legacy-universe:manage` | |
| 95 | +| UpdateTableContents | `PATCH v1/localization-table/tables/{tableId}` | `legacy-universe:manage` | |
| 96 | +| GetTableEntriesPaged | `GET v1/localization-table/tables/{tableId}/entries` | `legacy-universe:manage` | |
| 97 | +| GetTableEntryCount | `GET v1/localization-table/tables/{tableId}/entry-count` | `legacy-universe:manage` | |
| 98 | +| GetTableEntriesTranslationHistory | `POST v1/localization-table/tables/{tableId}/entries/translation-history` | `legacy-universe:manage` | |
| 99 | + |
| 100 | +## Groups API |
| 101 | + |
| 102 | +- Base URL: `https://apis.roblox.com/legacy-groups` |
| 103 | +- Authentication types: OAuth 2.0 and API key |
| 104 | + |
| 105 | +| **API** | **Path** | **Scope** | |
| 106 | +| :-------------------------------- | :-------------------------------------------------- | :-------------------- | |
| 107 | +| GetAuditLog | `GET v1/groups/{groupId}/audit-log` | `legacy-group:manage` | |
| 108 | +| GetGroupPolicies | `POST v1/groups/policies` | `legacy-group:manage` | |
| 109 | +| GetGroupSettings | `GET v1/groups/{groupId}/settings` | `legacy-group:manage` | |
| 110 | +| UpdateGroupSettings | `PATCH v1/groups/{groupId}/settings` | `legacy-group:manage` | |
| 111 | +| UpdateGroupStatus | `PATCH v1/groups/{groupId}/status` | `legacy-group:manage` | |
| 112 | +| UpdateGroupNotificationPreference | `PATCH v1/groups/{groupId}/notification-preference` | `legacy-user:manage` | |
| 113 | +| UpdateGroupDescription | `PATCH v1/groups/{groupId}/description` | `legacy-group:manage` | |
| 114 | + |
| 115 | +## Develop API |
| 116 | + |
| 117 | +- Base URL: `https://apis.roblox.com/legacy-develop` |
| 118 | +- Authentication types: OAuth 2.0 and API key |
| 119 | + |
| 120 | +| **API** | **Path** | **Scope** | |
| 121 | +| :----------------------------------- | :---------------------------------------------------------- | :--------------------------------- | |
| 122 | +| UpdateTeamCreateSettings | `PATCH v1/universes/{universeId}/teamcreate` | `legacy-team-collaboration:manage` | |
| 123 | +| GetTeamCreateSettings | `GET v1/universes/{universeId}/teamcreate` | `legacy-team-collaboration:manage` | |
| 124 | +| MultiGetTeamCreateSettings | `GET v1/universes/multiget/teamcreate` | `legacy-team-collaboration:manage` | |
| 125 | +| DeleteTeamCreateMembership | `DELETE v1/universes/{universeId}/teamcreate/memberships` | `legacy-team-collaboration:manage` | |
| 126 | +| GetMembersInTeamCreateSessionByPlace | `GET v1/places/{placeId}/teamcreate/active_session/members` | `legacy-team-collaboration:manage` | |
| 127 | +| CloseTeamTestGame | `DELETE v2/teamtest/{placeId}` | `legacy-team-collaboration:manage` | |
0 commit comments