PlayerCodeAcquisition
The caller's entitlement to a listing (mode 'free' in P4a). Uninstalling never deletes this row; it is the audit trail P4b attaches payment to.
type PlayerCodeAcquisition {
acquisitionId: String!
listingId: String!
appId: BigInt!
acquirerUserId: BigInt!
mode: PlayerCodeAcquisitionMode!
status: String!
acquiredAt: DateTime!
revokedAt: DateTime
expiresAt: DateTime
unitBudget: BigInt
unitsConsumed: BigInt!
}
Fields
PlayerCodeAcquisition.acquisitionId ● String! non-null scalar
UUID of the acquisition.
PlayerCodeAcquisition.listingId ● String! non-null scalar
UUID of the acquired listing.
PlayerCodeAcquisition.appId ● BigInt! non-null scalar
App of the listing.
PlayerCodeAcquisition.acquirerUserId ● BigInt! non-null scalar
Numeric user id of the acquirer.
PlayerCodeAcquisition.mode ● PlayerCodeAcquisitionMode! non-null enum
Acquisition mode: FREE, BUY (perpetual), RENT (renewable window), TIME_LIMITED (single window), or COST_LIMITED (compute-unit budget).
PlayerCodeAcquisition.status ● String! non-null scalar
Entitlement status: 'active' or 'revoked'.
PlayerCodeAcquisition.acquiredAt ● DateTime! non-null scalar
When acquired.
PlayerCodeAcquisition.revokedAt ● DateTime scalar
When the entitlement was revoked; null while active.
PlayerCodeAcquisition.expiresAt ● DateTime scalar
Expiry for RENT/TIME_LIMITED; null for perpetual (FREE/BUY) or unit-budgeted (COST_LIMITED). Past expiry drains installs until renewed.
PlayerCodeAcquisition.unitBudget ● BigInt scalar
Compute-unit budget for COST_LIMITED; null otherwise.
PlayerCodeAcquisition.unitsConsumed ● BigInt! non-null scalar
Compute units consumed so far (advances against unitBudget).
Returned By
acquirePlayerCode mutation ● appPlayerCodeAcquisitions query ● myPlayerCodeAcquisitions query ● renewPlayerCodeAcquisition mutation ● topUpPlayerCodeAcquisition mutation