Skip to main content

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