---
title: "Gets a list of universe playability statuses for the authenticated user"
method: GET
path: "/v1/games/multiget-playability-status"
tags: ["Accounts", "Universes"]
---

# Gets a list of universe playability statuses for the authenticated user

`GET /v1/games/multiget-playability-status`

## Query parameters

- `universeIds` integer[], required

## Response `200`

OK

- RobloxGamesApiModelsResponsePlayabilityStatusResponse[]
  - `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 — 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]
  - `isPlayable` boolean — Whether or not the universe is playable for the user
  - `universeId` integer — The universeId of the requested universe to help with batching requests
  - `unplayableDisplayText` string — Localized display text explaining why unplayable
  - `playableUxTreatment` RobloxGamesApiModelsResponsePlayableUxTreatment
    - `treatment` string
    - `data` RobloxGamesApiModelsResponsePlayableUxTreatmentData
      - `titleText` string
      - `bodyText` string
      - `primaryActionText` string
      - `secondaryActionText` string
  - `upsellUxTreatment` RobloxGamesApiModelsResponseUpsellUxTreatment — Upsell UX treatment metadata appended to a playability response when an experience is currently playable but will be restricted under upcoming Roblox-Core content rules. Mirrors the existing Roblox.Games.Api.Models.Response.PlayableUxTreatment contract intentionally so client rendering can be unified.
    - `treatment` string — Identifier of the client component to render (currently "ageCheckUpsell"). Absent when the upsell should not surface.
    - `data` RobloxGamesApiModelsResponseUpsellUxTreatmentData — Localized strings for an Roblox.Games.Api.Models.Response.UpsellUxTreatment. Currently only carries Roblox.Games.Api.Models.Response.UpsellUxTreatmentData.BodyText; structured to allow additional fields without breaking the JSON contract.
      - `bodyText` string — Localized body text for the upsell banner (e.g. "You'll soon need an age check to join this game.").
  - `demoModeAvailable` boolean — Whether the game supports demo play for users who have not purchased it. Only set when PlayabilityStatus is PurchaseRequired or FiatPurchaseRequired.

## Other responses

- `400` — 8: The universe IDs specified are invalid. 9: Too many universe IDs were requested.
- `429` — 4: Too many requests have been made.

---

[API](https://skmtc.net/roblox/apis/roblox-api.md) · [All operations](https://skmtc.net/roblox/apis/roblox-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/roblox/roblox-api/versions/e15802062270/schema)
