Skip to main content

AppUserAccess

A user's entitlement to a specific app: whether (and via which tier) they may access it. At most one row per (app, user).

type AppUserAccess {
appUserAccessId: BigInt!
appId: BigInt!
userId: BigInt!
tierId: BigInt
status: String!
grantedBy: String!
subscriptionId: String
expiresAt: DateTime
suspendedUntil: DateTime
createdAt: DateTime!
updatedAt: DateTime!
user: User
tier: AppAccessTier
}

Fields​

AppUserAccess.appUserAccessId ● BigInt! non-null scalar​

Unique numeric id of this access record (primary key).

AppUserAccess.appId ● BigInt! non-null scalar​

Numeric id of the app this access applies to.

AppUserAccess.userId ● BigInt! non-null scalar​

Numeric id of the user this access belongs to.

AppUserAccess.tierId ● BigInt scalar​

Numeric id of the access tier granting this access; null if access was granted without a specific tier.

AppUserAccess.status ● String! non-null scalar​

Entitlement lifecycle: "active" (currently entitled) or "revoked" (access removed). Only active, non-expired rows grant runtime access. Defaults to "active".

AppUserAccess.grantedBy ● String! non-null scalar​

Who granted this access: the granting admin's numeric user id (as a string), or "system" for automatic/free-tier grants.

AppUserAccess.subscriptionId ● String scalar​

External billing subscription id (e.g. Stripe/PayPal) backing a paid grant; null for free or manual grants.

AppUserAccess.expiresAt ● DateTime scalar​

Optional expiry timestamp; access is treated as inactive once it has passed. Null means the grant does not expire.

AppUserAccess.suspendedUntil ● DateTime scalar​

A timed suspension: while this time is in the future the player holds no access (a gameplay token is refused with ACCESS_SUSPENDED and realtime sessions end), and access returns by itself once it passes. Null when the player is not suspended. Set with suspendAppAccess, cleared with unsuspendAppAccess.

AppUserAccess.createdAt ● DateTime! non-null scalar​

Timestamp when the access record was first created.

AppUserAccess.updatedAt ● DateTime! non-null scalar​

Timestamp when the access record was last updated (e.g. re-granted or revoked).

AppUserAccess.user ● User object​

The user this access record belongs to. Null if the user could not be loaded.

AppUserAccess.tier ● AppAccessTier object​

The access tier granted by this record. Null if no tier is associated (tierId is null) or the tier could not be loaded.

Returned By​

appUserAccessByApp query ● claimFreeAppAccess mutation ● grantAppAccess mutation ● grantMyAppAccess mutation ● myAppAccess query ● revokeAppAccess mutation ● suspendAppAccess mutation ● unsuspendAppAccess mutation

Member Of​

AppUserAccessEdge object