5 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

Subscription — openapi

Represents a user's subscription to a subscription product. The subscription ID is the same as the user ID of the user who subscribed.

Properties

NameTypeRequiredDescription
pathstringfalseThe resource path of the subscription. Format: universes/{universe_id}/subscription-products/{subscription_product_id}/subscriptions/{subscription_id}
createTimestringfalseThe timestamp when the subscription was created.
updateTimestringfalseThe timestamp when the subscription was last updated.
activebooleanfalseWhether the subscription is active. This is equivalent to whether state is equal to SUBSCRIBED_WILL_RENEW, SUBSCRIBED_WILL_NOT_RENEW, or SUBSCRIBED_RENEWAL_PAYMENT_PENDING.
willRenewbooleanfalseWhether the subscription will renew. This is equivalent to whether state is equal to SUBSCRIBED_WILL_RENEW or SUBSCRIBED_RENEWAL_PAYMENT_PENDING.
lastBillingTimestringfalseThe timestamp when the subscription was last billed.
nextRenewTimestringfalseThe timestamp when the subscription will next be automatically renewed.
expireTimestringfalseThe timestamp when the subscription will, or did, expire.
statestringfalseThe state of the subscription. Possible values: | Value | Description | | --- | --- | | STATE_UNSPECIFIED | The subscription state is unspecified. | | SUBSCRIBED_WILL_RENEW | The subscription is active and will be automatically renewed at next_renew_time. | | SUBSCRIBED_WILL_NOT_RENEW | The subscription is active but will not be automatically renewed. | | SUBSCRIBED_RENEWAL_PAYMENT_PENDING | The subscription is active and within the renewal grace period pending payment confirmation. | | EXPIRED | The subscription has expired. See expiration_details for more information. |
expirationDetails#/components/schemas/Subscription_ExpirationDetailsfalseInformation about the expiration of the subscription.
purchasePlatformstringfalseThe platform on which the subscription was purchased. Possible values: | Value | Description | | --- | --- | | PURCHASE_PLATFORM_UNSPECIFIED | The purchase platform is unspecified. | | DESKTOP | The subscription was purchased on the Roblox website. | | MOBILE | The subscription was purchased on the Roblox mobile app. |
paymentProviderstringfalseThe payment provider used to purchase the subscription. Possible values: | Value | Description | | --- | --- | | PAYMENT_PROVIDER_UNSPECIFIED | The payment provider is unspecified. | | STRIPE | The subscription was purchased using Stripe. | | APPLE | The subscription was purchased using Apple. | | GOOGLE | The subscription was purchased using Google. | | ROBLOX_CREDIT | The subscription was purchased using Roblox Credit. | | ROBUX | The subscription was purchased using Robux. |
userstringfalseThe user who subscribed to the subscription.

Complete Schema

{
  "type": "object",
  "properties": {
    "path": {
      "example": "universes/123/subscription-products/some-subscription-product-id/subscriptions/some-subscription-id",
      "type": "string",
      "description": "The resource path of the subscription.\n\nFormat:\n`universes/{universe_id}/subscription-products/{subscription_product_id}/subscriptions/{subscription_id}`"
    },
    "createTime": {
      "readOnly": true,
      "example": "2023-07-05T12:34:56Z",
      "type": "string",
      "description": "The timestamp when the subscription was created.",
      "format": "date-time"
    },
    "updateTime": {
      "readOnly": true,
      "example": "2023-07-05T12:34:56Z",
      "type": "string",
      "description": "The timestamp when the subscription was last updated.",
      "format": "date-time"
    },
    "active": {
      "readOnly": true,
      "example": true,
      "type": "boolean",
      "description": "Whether the subscription is active.\n\nThis is equivalent  to whether `state` is equal to SUBSCRIBED_WILL_RENEW,\nSUBSCRIBED_WILL_NOT_RENEW, or SUBSCRIBED_RENEWAL_PAYMENT_PENDING."
    },
    "willRenew": {
      "readOnly": true,
      "example": true,
      "type": "boolean",
      "description": "Whether the subscription will renew.\n\nThis is equivalent to whether `state` is equal to SUBSCRIBED_WILL_RENEW or\nSUBSCRIBED_RENEWAL_PAYMENT_PENDING."
    },
    "lastBillingTime": {
      "readOnly": true,
      "example": "2023-07-05T12:34:56Z",
      "type": "string",
      "description": "The timestamp when the subscription was last billed.",
      "format": "date-time"
    },
    "nextRenewTime": {
      "readOnly": true,
      "example": "2023-07-05T12:34:56Z",
      "type": "string",
      "description": "The timestamp when the subscription will next be automatically renewed.",
      "format": "date-time"
    },
    "expireTime": {
      "readOnly": true,
      "example": "2023-07-05T12:34:56Z",
      "type": "string",
      "description": "The timestamp when the subscription will, or did, expire.",
      "format": "date-time"
    },
    "state": {
      "readOnly": true,
      "example": "STATE_UNSPECIFIED",
      "enum": [
        "STATE_UNSPECIFIED",
        "SUBSCRIBED_WILL_RENEW",
        "SUBSCRIBED_WILL_NOT_RENEW",
        "SUBSCRIBED_RENEWAL_PAYMENT_PENDING",
        "EXPIRED"
      ],
      "type": "string",
      "description": "The state of the subscription.\n\nPossible values:\n\n  | Value | Description |\n  | --- | --- |\n  | STATE_UNSPECIFIED | The subscription state is unspecified. |\n  | SUBSCRIBED_WILL_RENEW | The subscription is active and will be automatically renewed at `next_renew_time`. |\n  | SUBSCRIBED_WILL_NOT_RENEW | The subscription is active but will not be automatically renewed. |\n  | SUBSCRIBED_RENEWAL_PAYMENT_PENDING | The subscription is active and within the renewal grace period pending payment confirmation. |\n  | EXPIRED | The subscription has expired.  See `expiration_details` for more information. |",
      "format": "enum"
    },
    "expirationDetails": {
      "$ref": "#/components/schemas/Subscription_ExpirationDetails",
      "description": "Information about the expiration of the subscription."
    },
    "purchasePlatform": {
      "readOnly": true,
      "example": "PURCHASE_PLATFORM_UNSPECIFIED",
      "enum": [
        "PURCHASE_PLATFORM_UNSPECIFIED",
        "DESKTOP",
        "MOBILE"
      ],
      "type": "string",
      "description": "The platform on which the subscription was purchased.\n\nPossible values:\n\n  | Value | Description |\n  | --- | --- |\n  | PURCHASE_PLATFORM_UNSPECIFIED | The purchase platform is unspecified. |\n  | DESKTOP | The subscription was purchased on the Roblox website. |\n  | MOBILE | The subscription was purchased on the Roblox mobile app. |",
      "format": "enum"
    },
    "paymentProvider": {
      "readOnly": true,
      "example": "PAYMENT_PROVIDER_UNSPECIFIED",
      "enum": [
        "PAYMENT_PROVIDER_UNSPECIFIED",
        "STRIPE",
        "APPLE",
        "GOOGLE",
        "ROBLOX_CREDIT",
        "ROBUX"
      ],
      "type": "string",
      "description": "The payment provider used to purchase the subscription.\n\nPossible values:\n\n  | Value | Description |\n  | --- | --- |\n  | PAYMENT_PROVIDER_UNSPECIFIED | The payment provider is unspecified. |\n  | STRIPE | The subscription was purchased using Stripe. |\n  | APPLE | The subscription was purchased using Apple. |\n  | GOOGLE | The subscription was purchased using Google. |\n  | ROBLOX_CREDIT | The subscription was purchased using Roblox Credit. |\n  | ROBUX | The subscription was purchased using Robux. |",
      "format": "enum"
    },
    "user": {
      "example": "users/123",
      "type": "string",
      "description": "The user who subscribed to the subscription.",
      "x-immutable": true
    }
  },
  "description": "Represents a user's subscription to a subscription product. The\nsubscription ID is the same as the user ID of the user who subscribed.",
  "x-aep-resource": {
    "patterns": [
      "universes/{universe_id}/subscription-products/{subscription_product_id}/subscriptions/{subscription_id}"
    ],
    "plural": "subscriptions",
    "singular": "subscription"
  },
  "x-resource": true,
  "x-oneOf": {
    "subscriber": [
      "user"
    ]
  }
}