GmInvokeResult
The outcome of a gameModelInvoke call (return value, applied writes, and any error).
type GmInvokeResult {
eventId: String!
functionName: String!
success: Boolean!
returnValueJson: String
mutationsApplied: [GmMutationApplied!]!
fault: PlayerFaultInfo
errorMessage: String @deprecated
policyBypassed: Boolean
}
Fields
GmInvokeResult.eventId ● String! non-null scalar
The id of the event logged for this invocation.
GmInvokeResult.functionName ● String! non-null scalar
The function that was invoked.
GmInvokeResult.success ● Boolean! non-null scalar
True if the invocation succeeded; false if it was rejected or errored.
GmInvokeResult.returnValueJson ● String scalar
JSON-encoded return value.
GmInvokeResult.mutationsApplied ● [GmMutationApplied!]! non-null object
The property writes that were applied (empty if none / on failure).
GmInvokeResult.fault ● PlayerFaultInfo object
Why the invocation failed, when it did: a stable code, whose problem it is, and whether retrying could help. Null when success is true. This is the field to branch on — it is the platform's blame attribution, and rendering is the game's decision.
GmInvokeResult.errorMessage ● String deprecated scalar
Read fault instead and choose your own wording. This field no longer carries the engine's error text and will be removed once no client depends on it.
A platform-authored sentence matching fault, safe to show a player. It carries no engine detail on purpose (decision D4): the failing expression, the timeout and the gas figures are in gameModelEvents and the fault record, where a developer reads them and a player does not.
GmInvokeResult.policyBypassed ● Boolean scalar
True when the caller asked for bypassPolicy and held manage_apps, so the function's invoke policy was NOT evaluated for this call. Null/false otherwise. An administrative invoke that did not set bypassPolicy was judged exactly like a player's.
Returned By
gameModelInvoke mutation