AccountErasure
An account erasure: what deleting an account erases (its player-side content) and where that stands. Usage, billing, audit and legal records stay, and so does everything the account owns as a developer.
type AccountErasure {
userId: BigInt!
status: String!
reason: String!
requestedBy: String
requestedAt: DateTime!
completedAt: DateTime
apps: Int!
appsDone: Int!
lastError: String
summary: String
preservedIdentity: String
}
Fields
AccountErasure.userId ● BigInt! non-null scalar
The deleted account.
AccountErasure.status ● String! non-null scalar
PENDING (apps still to do), RUNNING (finishing), DONE, FAILED (the finish threw; it is retried) or DEFERRED_HOLD (a legal hold applies; nothing is erased until it is released).
AccountErasure.reason ● String! non-null scalar
Why it was asked for: SELF_DELETE (the player deleted its own account), MANAGED_DELETE (its organization deleted it) or OPERATOR.
AccountErasure.requestedBy ● String scalar
Who asked: user:<id>, org_token:<id>, operator:<id> (requestAccountErasure), operator:<id>: <their reason> (eraseAccount), or age_gate (an account that declared an age under 13).
AccountErasure.requestedAt ● DateTime! non-null scalar
When it was asked for.
AccountErasure.completedAt ● DateTime scalar
When it finished, or null.
AccountErasure.apps ● Int! non-null scalar
Apps the account had content in.
AccountErasure.appsDone ● Int! non-null scalar
Of those, the apps already erased.
AccountErasure.lastError ● String scalar
The last error, from the finish or from an app, or null.
AccountErasure.summary ● String scalar
What was erased, as JSON: rows removed per table, summed over the apps, and the account-wide rows.
AccountErasure.preservedIdentity ● String scalar
OPERATOR ONLY. While a legal hold defers the erasure, what the account row said before it was blanked (email, gamertag, external id, organization), as JSON; null otherwise.
Returned By
accountErasure query ● eraseAccount mutation ● requestAccountErasure mutation