Skip to main content

SafetyReport

A report about a player, filed by another player (fileSafetyReport) or by the app’s hub (the node API’s safety.report). Moderators (moderate_safety on the app) read and decide it.

type SafetyReport {
appId: BigInt!
reportId: BigInt!
reporterUserId: BigInt!
reportedUserId: BigInt!
reportedActorUuid: String
reason: SafetyReportReason!
details: String
occurredAt: DateTime!
filedAt: DateTime!
status: SafetyReportStatus!
outcome: String
resolvedBy: BigInt
resolvedAt: DateTime
ncmecReportId: String
ncmecSubmittedAt: DateTime
holdId: BigInt
sessions: [BigInt!]!
capture: SafetyReportCapture!
}

Fields​

SafetyReport.appId ● BigInt! non-null scalar​

The app.

SafetyReport.reportId ● BigInt! non-null scalar​

The report.

SafetyReport.reporterUserId ● BigInt! non-null scalar​

Who reported.

SafetyReport.reportedUserId ● BigInt! non-null scalar​

Who is reported.

SafetyReport.reportedActorUuid ● String scalar​

The reported player’s actor, when the report named one.

SafetyReport.reason ● SafetyReportReason! non-null enum​

Why.

SafetyReport.details ● String scalar​

What the reporter wrote (at most 1,000 characters).

SafetyReport.occurredAt ● DateTime! non-null scalar​

When it happened, as the reporter said.

SafetyReport.filedAt ● DateTime! non-null scalar​

When it was filed.

SafetyReport.status ● SafetyReportStatus! non-null enum​

Where it stands.

SafetyReport.outcome ● String scalar​

The moderator’s outcome, once resolved.

SafetyReport.resolvedBy ● BigInt scalar​

The moderator who resolved or escalated it.

SafetyReport.resolvedAt ● DateTime scalar​

When it was resolved or escalated.

SafetyReport.ncmecReportId ● String scalar​

The CyberTipline report it was escalated as.

SafetyReport.ncmecSubmittedAt ● DateTime scalar​

When the CyberTipline report was recorded.

SafetyReport.holdId ● BigInt scalar​

The legal hold set on the reported account when it was deleted while the report was open or escalated (legalHolds).

SafetyReport.sessions ● [BigInt!]! non-null scalar​

The recorded sessions it covers (InputLogSession.gameTokenId): both players’ sessions from 15 minutes before it occurred to its filing. A moderator reads them with inputLogMessages while the report is open or escalated.

SafetyReport.capture ● SafetyReportCapture! non-null object​

Its copy in the preservation store.

Returned By​

childSafetyReports query ● escalateSafetyReport mutation ● resolveSafetyReport mutation ● safetyReports query