Objects
115 objects, in the order the schema defines them.
Nothing matches.
AccountDeletionScheduleobject
A pending account deletion.
Field Type Description
scheduledForDateTime !When the grace period ends and the account is purged. Until then the account works as
before and cancelAccountDeletion keeps it.
Used by Mutation.requestAccountDeletion
AuditLogEntryobject
Used by AuditLogPage
AuditLogPageobject
Used by Query.listAuditLog
AuditLogPageInfoobject
Used by AuditLogPage
ChannelCursorOutputobject
Field Type Description
createdAtDateTime !
conversationIdID !
Used by ChannelPage
ChannelPageobject
Used by Query.channels
ClaimedKeyPackageobject
Used by Mutation.claimMlsKeyPackages
Commandobject
Field Type Description
idString !
titleString !
descriptionString !
categoryString !
sourceKindCommandSourceKind !
executionTargetCommandExecutionTarget !
arguments[CommandArgument !]!The arguments the command accepts, in order. Clients build the palette form and the
AI tool schema from them.
requiredContext[String !]!
requiredCapabilities[String !]!
visibleInPaletteBoolean !
visibleInContextMenusBoolean !
keybindCapableBoolean !
dangerousBoolean !
nlDescriptionString AI-optimised natural-language description; falls back to description
when absent. Sanitized at registration time, so the frontend can trust
this field even when rendering inside a prompt template.
intentSamples[String !]!Example phrases a user might speak/type to invoke this command.
Individually sanitized at registration; bounded in count and length.
aiCallableBoolean !true when an AI agent may call the command. Only these commands appear on the AI
surface and in commandDiscover . Always false while the instance has the AI command
surface off.
sensitivityCommandSensitivity !Classification tier driving audit verbosity, mutating-call caps, and
the UX confirm-modal placement.
Used by Mutation.createUserCommand , Mutation.updateUserCommand , Query.commands , Query.commandDiscover
CommandArgumentobject
One argument a command accepts. defaultValue is JSON because arguments may be strings,
numbers, booleans or objects; allowedValues lists the choices of an ENUM argument.
Used by Command
ConfirmationChallengeobject
A confirmation challenge the server issued for one command call. The client asks the user to
confirm, then re-submits the call with token and argsHash as its confirmation proof
before expiresAt.
Used by CommandResult
Conversationobject
Field Type Description
idID !
serverIdID !
conversationTypeConversationTypeEnum !
titleString
topicString
memberIds[ID !]!
isPrivateBoolean !Channels only: visible to its members alone. Fixed at creation.
isArchivedBoolean !
archivedAtDateTime
memberCountInt !
createdByID
slowModeSecondsInt !Slow mode: minimum seconds between two messages of the same non-moderator
member; 0 when off.
encryptedAtDateTime When the conversation became end-to-end encrypted; null for plaintext. Messages from
then on are encrypted.
pendingMemberIds[ID !]!Members invited to an encrypted conversation who have no device set up for encryption
yet. They cannot read or send; they join with acceptConversationInvite once a device is
ready, without the history before that, or declineConversationInvite . Not in
memberIds or memberCount.
isMutedBoolean !
isMemberBoolean !Whether the viewer is a member (for channels: has joined it).
notificationLevelNotificationLevel The viewer's own notification level for this conversation; null inherits
the workspace default.
effectiveNotificationLevelNotificationLevel !The level that applies to the viewer now: NONE while muted, else notificationLevel,
else the workspace default.
mlsGroupMlsGroup The conversation's current MLS group; null for plaintext, before the first Commit, and
for a pending member.
predecessorConversationPredecessor The conversation this one succeeds, on the host that held it; null for any other.
dmRequestPendingBoolean For a DM: whether the other member's DM request for it is still pending, so the caller
sees their messages wait for acceptance; false once it is accepted or ignored, when
there is none, and for another member whose relay is another server. Null for groups
and channels.
Used by ChannelPage , ConversationPage , Mutation.createConversation , Mutation.updateConversationTopic , Mutation.joinChannel , Mutation.addConversationMembers , Mutation.setConversationArchived , Mutation.setSlowMode , Mutation.acceptConversationInvite , Notification , Query.conversation
ConversationMessageChangesobject
The changes of one conversation after the requested cursor, oldest first.
Used by Query.messageChanges
ConversationNotificationLevelobject
Field Type Description
conversationIdID !
levelNotificationLevel The conversation's own level; null inherits the workspace default.
effectiveLevelNotificationLevel !What applies now: NONE while muted, else level, else the workspace default.
mutedUntilDateTime
Used by Mutation.setConversationNotificationLevel
ConversationPageobject
Used by Query.inboxConversations
ConversationPredecessorobject
The conversation a successor replaces, on the host that held it.
Field Type Description
hostServerIdString !
conversationIdID !
Used by Conversation
CreateInvitePayloadobject
Field Type Description
inviteTokenString !
inviteIdID !
Used by Mutation.createInvite
DeleteWorkspacePayloadobject
Field Type Description
deletedBoolean !Whether the workspace was deleted.
Used by Mutation.deleteWorkspace
DeviceKeyobject
Field Type Description
deviceIdID !The client-chosen device id from the certificate.
publicKeyString !The device key in tagged form, <algorithm>:<base64url> (today always ed25519:…).
nameString !
keySeqInt !Key log seq whose identity key signed the certificate.
certificateSignedStatement !
addedAtDateTime !
lastUsedAtDateTime
revokedAtDateTime
Used by KeyIdentity , Mutation.addDeviceKey , Mutation.revokeDeviceKey
DmFloorSourceobject
Where the floor that refuses DMs from outside comes from.
Used by MyDmSettings
DmRequestobject
A conversation started by someone outside the caller's contacts.
Used by Mutation.acceptDmRequest , Mutation.ignoreDmRequest , Query.dmRequests
DndWindowobject
A daily do-not-disturb window. start/end are "HH:MM" wall-clock times in timezone
(an IANA name); the window crosses midnight when end is before start.
Used by NotificationSettings
FilterConditionGqlobject
Used by FilterSpecGql
FilterSpecGqlobject
Used by ChannelLens
InboxCursorOutputobject
Field Type Description
lastActivityAtDateTime !
conversationIdID !
Used by ConversationPage
InstanceAbuseReportobject
An abuse report filed with this server, by a local user or from the abuse address.
Field Type Description
idID !The report's id.
reporterUserIdID The local user who filed the report; null for one the operator filed from the abuse
address.
reporterUsernameString The reporter's username; null with reporterUserId.
subjectPrincipalIdString The principal reported (rimp1_…); null for a report naming only a server.
subjectUsernameString The username of the account holding the reported principal here; null when no local
account holds it.
subjectServerIdString The server reported (rims1_…); null for a report naming only a principal.
requestIdID The DM request the report was filed on; null for one filed otherwise.
reasonString !Why the report was filed.
createdAtDateTime !When the report was filed.
resolvedAtDateTime When the report was resolved; null while it is open.
resolvedBoolean !Whether the report is resolved.
Used by Mutation.instanceResolveReport , Query.instanceReports
InstanceAccountobject
A local account, as the moderation queue names it.
Field Type Description
userIdID !The account's user id.
usernameString !The account's username.
principalIdString The account's principal (rimp1_…); null for an account that never enrolled a key.
createdAtDateTime !When the account was created.
Used by InstancePrincipalBlockOutcome
InstanceIpBlockobject
An address or range on this server's IP deny list, refused on every route but the liveness
probe.
Field Type Description
cidrString !The address or range in CIDR form, IPv4 or IPv6.
reasonString !Why the address or range was blocked.
expiresAtDateTime When the block lifts; null for a block that lasts until it is removed.
createdAtDateTime !When the block was made, or its reason and expiry last replaced.
expiredBoolean !Whether the block has expired and is no longer in force.
Used by InstanceIpBlockOutcome , Query.instanceIpBlocks
InstanceIpBlockOutcomeobject
What blocking an address or range did.
Field Type Description
blockInstanceIpBlock !The block now in force.
newlyBlockedBoolean !False when the range was blocked already; its reason and expiry were replaced.
Used by Mutation.instanceBlockIp
InstancePrincipalBlockobject
A principal this server refuses: its sessions were ended, and its signups, logins and
deliveries are refused.
Field Type Description
principalIdString !The principal blocked (rimp1_…).
usernameString The username of the account holding the principal here; null when no local account
holds it.
reasonString !Why the principal was blocked.
createdAtDateTime !When the principal was blocked.
Used by Query.instancePrincipalBlocks
InstancePrincipalBlockOutcomeobject
What blocking one principal or account did.
Field Type Description
principalIdString The principal blocked; null for an account of a cascade that has no key identity.
newlyBlockedBoolean !False when it was blocked already; its reason was replaced.
accountInstanceAccount The local account blocked; null when no local account holds the principal.
reasonString !The reason recorded; a cascade's accounts carry an "(invited by …)" suffix.
endedSessionsInt !How many of the account's sessions were ended.
ignoredRequestsInt !How many pending DM requests from the principal were ignored.
revokedInvitesInt !How many of the account's invites with uses left were revoked.
emailBlockedBoolean !Whether the account's email is now refused at signup and password login.
invitees[InstanceAccount !]!The accounts the account's invites created, oldest first.
Used by Mutation.instanceBlockPrincipal
InstancePrincipalUnblockOutcomeobject
What lifting a principal's block did.
Field Type Description
liftedBoolean !Whether the principal was blocked.
emailUnblockedBoolean !Whether the account's email was blocked and no longer is.
Used by Mutation.instanceUnblockPrincipal
InviteTokenPreviewGqlobject
Read-only preview of a registration token.
Does NOT consume the token. Workspace-invite previews carry server and
inviter info; instance-invite previews are minimal.
Used by Query.previewInviteToken
JoinServerByInvitePayloadobject
Field Type Description
serverIdID !
Used by Mutation.joinServerByInvite
KeyIdentityobject
What this server holds about the signed-in account's key identity. Before the account
enrolls a key, principalId and keySeq are null and the lists are empty.
Used by Mutation.enrollIdentityKey , Mutation.rotateIdentityKey , Query.myKeyIdentity
KeyLogEntryobject
Used by KeyIdentity , Query.keyLog
KeyLoginChallengeobject
Field Type Description
challengeIdID !
nonceString !Copy into the login statement's nonce.
expiresAtDateTime !
Used by Mutation.keyLoginChallenge
LinkPreviewobject
Used by Message
LoginPayloadobject
Field Type Description
userIdID !
csrfTokenString !The new session's CSRF token, the value of the rim_csrf cookie. A client that cannot
read that cookie keeps it in memory and sends it in the X-CSRF-Token header.
Used by Mutation.login , Mutation.loginWithKey
MacroStepobject
Used by MacroDef
MemberTimeoutobject
A member's timeout: until until they can read but not write in the workspace.
Used by Mutation.timeoutMember
Messageobject
Used by Message , MessageChange , MessagePage , Mutation.sendMessage , Mutation.replyToMessage , Mutation.editMessage , Mutation.forwardMessage , Mutation.sendEncryptedMessage , Mutation.editEncryptedMessage , Notification , Query.message , Query.pinnedMessages , Query.applyChannelLens
MessageChangeobject
A message as it is now, at its newest change. A message appears at most once per page.
Field Type Description
kindMessageChangeKind !
versionString !The message's position in its conversation's change sequence, as a decimal string.
Increases with every change; compare it to a cached copy to keep the newer one.
editedAtDateTime When the text last changed; null for a never-edited message.
messageMessage !The message. Deleted messages come back with isDeleted: true and null text.
Used by ConversationMessageChanges
MessageCursorOutputobject
Used by MessagePage , SearchResultPage
MessageEncryptionobject
The MLS envelope of an encrypted message.
Field Type Description
incarnationInt !
epochInt !The epoch the message was sent in.
senderDeviceIdID !
ciphertextString The MLSMessage; null once the message is deleted.
frankingReceiptString !
frankingKeyIdInt !
sentAtUsString !sentAt in microseconds since the Unix epoch, as decimal text, as the receipt covers it.
Used by Message
MessageReportobject
A member's report of a message. messageText and messageAuthorId are present only when
the viewing moderator can read the conversation (messageReadable); otherwise only the ids
and the reporter's reason are shown. messageText is also null for a deleted message.
A report of an encrypted message is franked: the server verified that its content is what
the sender's device sent (frankingVerifiedAt). Its author, send time and sender device are
shown to every moderator; its content (frankedContent) only by messageReport .
Field Type Description
idID !
serverIdID !
conversationIdID !
messageIdID !
reporterUserIdID !
reasonString !
statusMessageReportStatus !
resolvedByID
resolvedAtDateTime
createdAtDateTime !
messageReadableBoolean !
messageTextString
messageAuthorIdID
messageSentAtDateTime When the reported message was sent; null when its details are not shown.
frankingVerifiedAtDateTime Set when the server verified a franked report of an encrypted message.
frankedSenderDeviceIdID The client device id that sent the reported encrypted message.
frankedContentString The exact content bytes of a verified report, unpadded base64url. Only messageReport
fills it; null in lists and once retention cleared it.
frankedContentExpiresAtDateTime When the verified content is deleted: 90 days after the report was resolved or
dismissed; null while it is open.
Used by MessageReportPage , Mutation.reportMessage , Mutation.resolveReport , Query.messageReport
MessageReportCursorOutputobject
Field Type Description
createdAtDateTime !
reportIdID !
Used by MessageReportPage
MessageReportPageobject
Reports ordered createdAt ASC, id ASC, with the standard cursor semantics.
Used by Query.messageReports
MlsCommitobject
Field Type Description
idID !
incarnationInt !
epochInt !The epoch the Commit was created in; the group moved to the next.
senderPrincipalIdString
senderDeviceIdID
messageString !
createdAtDateTime !
Used by MlsCommitPage , Mutation.submitMlsCommit
MlsCommitPageobject
Used by Query.mlsCommits
MlsDeviceobject
Field Type Description
userIdID !
principalIdString !
deviceIdID !
addedEpochInt !
Used by MlsGroup
MlsGroupobject
A conversation's current MLS group and the changes it waits for.
Field Type Description
groupIdString !
incarnationInt !
cipherSuiteInt !
epochInt !The epoch the next Commit must be created in.
devices[MlsDevice !]!
pendingAdds[MlsPendingDevice !]!MLS-active devices of members that are not in the group yet.
pendingRemoves[MlsDevice !]!Devices in the group that no longer belong: their member left, they were revoked, or
they uploaded no key package for 60 days.
readdRequests[MlsReaddRequest !]!
Used by Conversation
MlsKeyPackageStatusobject
What the session's device has stored for one cipher suite.
Field Type Description
cipherSuiteInt !
availableInt !Unclaimed one-time key packages that can still be handed out (valid for 14 more days).
lastResortNotAfterDateTime
lastResortClaimsInt !How often the last-resort key package was handed out; past 5 the device replaces it.
oldestNotAfterDateTime The earliest expiry among the available one-time key packages.
Used by Mutation.uploadMlsKeyPackages , Query.myMlsKeyPackageStatus
MlsPendingDeviceobject
Used by MlsGroup
MlsReaddRequestobject
Used by MlsGroup
MlsWelcomeobject
Field Type Description
idID !
serverIdID !
conversationIdID !
incarnationInt !
epochInt !The epoch the device joins at.
messageString !
expiresAtDateTime !
Used by Query.myMlsWelcomes
MutedConversationobject
Field Type Description
conversationIdID !
mutedUntilDateTime
Used by Query.mutedConversations
MyDmSettingsobject
Who may start a DM with the caller, as they chose and as it applies.
Field Type Description
outsideDmOutside !Their choice for DMs from outside their workspaces.
workspaces[WorkspaceDmSetting !]!Their choice for each of their workspaces' members.
effectiveOutsideDmOutside !What applies to DMs from outside: their choice, or NONE under a floor that refuses
them.
outsideFloorFromDmFloorSource The floor that refuses DMs from outside; null when none does.
Used by Mutation.setMyDmSettings , Mutation.setMyWorkspaceDmSetting , Query.myDmSettings
Notificationobject
One entry of the viewer's notification inbox.
Field Type Description
idID !
serverIdID !
conversationIdID !
messageIdID !
reasonNotificationReason !
createdAtDateTime !
readAtDateTime
conversationConversation Null when the viewer can no longer read the conversation.
messageMessage The message (timeline or thread reply); null when the viewer can no longer read the
conversation or the message is gone.
reactionEmojiString The latest reaction's emoji; null unless reason is REACTION.
reactedByUser Who added the latest reaction; null unless reason is REACTION.
Used by NotificationPage
NotificationCursorOutputobject
Field Type Description
createdAtDateTime !
notificationIdID !
Used by NotificationPage
NotificationPageobject
Notifications ordered createdAt DESC, id DESC (newest first), with the standard cursor
semantics: AFTER pages go to older notifications.
Used by Query.myNotifications
NotificationSettingsobject
The viewer's notification settings in one workspace (defaults until first saved).
Field Type Description
serverIdID !
defaultLevelNotificationLevel !Applies to every conversation without its own level.
keywords[String !]!Lower-cased; a whole-word, case-insensitive hit notifies (level MENTIONS or ALL).
dndDndWindow
dndPausedBoolean !The manual do-not-disturb pause (setDoNotDisturb , notifications.dnd).
dndPausedUntilDateTime When the manual pause ends; null while dndPaused is false or the pause has no end.
digestDigestFrequency !
reactionsBoolean !Whether reactions to the viewer's messages notify them (level MENTIONS or ALL).
Used by Mutation.updateNotificationSettings , Mutation.setDoNotDisturb , Query.myNotificationSettings
PipeStageResultobject
Used by CommandResult
PipelineActionGqlobject
Used by PipelineGql
PipelineFilterConditionGqlobject
Field Type Description
conditionTypeString !
patternString
userIdID
conversationIdID
Used by PipelineFilterGql
PipelineFilterGqlobject
Used by PipelineGql
PipelineTriggerGqlobject
Used by PipelineGql
PluginSourceobject
Where an entry's code comes from: the bundle fields for BUNDLE, the git fields for GIT.
Hashes are lowercase hex.
Used by WorkspacePlugin
PrincipalDeviceobject
A certified device of a principal, revoked or not.
Field Type Description
deviceIdID !
nameString !
certificateSignedStatement !
revokedAtDateTime
revocationSignedStatement
mlsActiveBoolean !Not revoked and uploaded key packages in the last 60 days: the device is set up for
encryption and belongs in its member's encrypted groups.
Used by PrincipalDevices
PrincipalDevicesobject
Used by Query.principalDevices
ReactionGroupobject
Used by Message , Mutation.toggleReaction
RelayInfoobject
This server as its users' relay.
Field Type Description
serverIdString !This server's id (rims1_…).
roles[String !]!host, relay or both.
directSpaceIdID !The space holding the DMs and groups this relay's users start with anyone.
Used by Query.relayInfo
RelayItemobject
A host event queued for the caller, signed by its host.
Used by DmRequest , RelayItemPage
RelayItemPageobject
Used by Query.relayItems
RemoteIdentityobject
A principal's identity as their relay serves it. The app verifies the log against the
principal id, each certificate against the log and the card against the head.
Used by Query.remoteIdentity
RemoteJoinChallengeobject
A login challenge from a host, fetched through the relay, for a device to sign with the
host's server id as audience.
Field Type Description
challengeIdID !
nonceString !
expiresAtDateTime !
workspaceIdID The workspace the invite names, for the delegation; null without an invite.
Used by Mutation.remoteJoinChallenge
RemoteJoinResultobject
A workspace joined on another host.
Field Type Description
hostServerIdString !
workspaceIdID !
userIdID !The member's user id at the host.
roleString !owner, moderator, member or guest.
Used by Mutation.joinRemoteWorkspace
RemotePrincipalDeviceobject
A device of a principal from another server.
Used by RemoteIdentity
RemoteServerobject
Another server, pinned through this relay.
Field Type Description
serverIdString !
originString !
discoveryString !The discovery document as JSON text, for the app to verify and pin.
Used by Query.remoteServer
RemoteSubscriptionobject
The relay's subscription to a workspace on another host, or a delegation the host refused.
Field Type Description
hostServerIdString !
workspaceIdID !
statusString !active, lapsed or ended; refused for a delegation the host did not accept.
expiresAtDateTime When the host stops honouring the delegation that keeps it active.
reasonString Why a delegation was refused (not_member, expired, relay_key, …).
Used by Mutation.renewDelegations , Query.remoteSubscriptions
RevocationFanoutobject
A device revocation at one host.
Used by Query.deviceRevocationStatus
SealedMessageobject
A sealed message exactly as it was sent.
Used by DeviceLink , Query.deviceLinkAnswer
SearchResultMessageobject
Field Type Description
idID !
serverIdID !
conversationIdID !
conversationTitleString
conversationTypeConversationTypeEnum !
threadIdID
rootMessageIdID
authorIdID !
textString
sentAtDateTime !
rankFloat !Relevance score of the match. Informational, or for a sort within the page: results are
paginated by recency (sentAt, id), not by rank.
headlineString ts_headline snippet with <mark>...</mark> highlights around matched terms. None when
the query had no free-text component (a purely operator-based search, e.g. from:@alice).
authorUser
Used by SearchResultPage
SearchResultPageobject
Cursor-paginated searchMessages result. Same (sentAt, messageId) cursors as
MessagePage : search results are paginated by recency, not by relevance.
Used by Query.searchMessages
Serverobject
Field Type Description
idID !
nameString !
viewerRoleServerMemberRoleGql !The requesting actor's effective role in this server. Display/affordance signal
only — not an authorization boundary. Every mutation independently re-checks the
role server-side (defense in depth); this field just lets the client avoid rendering
controls the viewer can't use. Non-null: every viewer who can query a Server is
necessarily a member of it (query-level visibility already guards non-members), so
there is no "not a member" variant to represent here.
ownerUser The account holding the owner role; null when there is none, as in the direct space or
once the owner's account is deleted. Workspace metadata: every member sees it, guests
included.
dmOutsideFloorDmOutsideFloor The workspace's floor for DMs to its members from people outside their workspaces;
null in the direct space, which has no rules. Every member sees it.
dmMemberDefaultDmMembers How a DM from a fellow member arrives unless the recipient chose; null in the direct
space. Every member sees it.
Used by Mutation.createServer , Mutation.transferWorkspaceOwnership , Query.myServers , Query.server
ServerBanobject
A workspace ban. Active bans block every way of joining the workspace.
Field Type Description
serverIdID !
userIdID !
reasonString
bannedByID
createdAtDateTime !
expiresAtDateTime Null for a ban that lasts until it is lifted.
userUser The banned user (null if the account no longer exists).
Used by Mutation.banMember , Query.serverBans
ServerFeatureInfoobject
One optional feature and whether it works here.
Field Type Description
keyString !The feature's name, as RIM_FEATURES_DISABLED takes it: attachments, link_previews,
email, custom_emoji, workspace_plugins or ai_commands. A client ignores a name
it does not know.
stateServerFeatureState !
reasonString Why an unavailable feature is unavailable; null otherwise.
Used by ServerInfo
ServerInfoobject
The running server build, the API version it speaks and the optional features it runs.
Field Type Description
versionString !The server's release version, e.g. 0.1.0.
apiVersionInt !The major version of this GraphQL API.
features[ServerFeatureInfo !]!Every optional feature with its state on this instance.
auditRetentionDaysInt Days a command audit row is kept before it is exported and deleted; null keeps rows
forever.
instanceNoticeString A short text the operator shows people on this instance, at most 500 characters; null
when there is none.
termsUrlString The terms of service a signup accepts, an absolute http(s) URL; null when the instance
has none. A signup sends it back as acceptedTermsUrl.
limitsServerLimits !The instance-wide caps, so a client can show "5 of 5" before it tries.
signupRequiresKeysBoolean !Whether new accounts sign up with a key only: signupWithInvite is refused with
FORBIDDEN and signupWithKey is the signup. Password sign-in of existing accounts
works either way.
dmInboundDmInbound !DMs from people on other servers, and from people here outside the recipient's
workspaces (RIM_DM_INBOUND): a floor for every account here.
dmOutboundDmOutbound !DMs people here start with people on other servers (RIM_DM_OUTBOUND).
dmPartners[String !]!The server ids the PARTNERS settings name (RIM_DM_PARTNERS).
defaultWorkspaceID The workspace every new account joins as a Member, so a client can open it after a
signup; null when the server names none (RIM_DEFAULT_WORKSPACE).
Used by Query.serverInfo
ServerLimitsobject
The instance-wide caps; each is null when this instance sets none, but devices and DM
requests always have one. Creating one more past a cap answers VALIDATION naming it.
Field Type Description
workspacesPerUserInt Workspaces one user owns.
membersPerWorkspaceInt Members of one workspace; the direct space has no cap.
channelsPerWorkspaceInt Channels of one workspace, public and private.
devicesPerUserInt Devices on one account: the stricter of the instance cap and the relay quota.
dmRequestsPerDayInt DM requests one user sends to strangers per day: the stricter of the instance cap and
the relay quota.
macrosPerWorkspaceInt Macros of one workspace.
pipelinesPerWorkspaceInt Pipelines of one workspace.
pluginsPerWorkspaceInt Plugins of one workspace's registry.
invitesPerUserPerDayInt Invites one user creates per day.
inviteMaxUsesInt Uses one invite may have.
messageBytesInt Bytes of one message's text.
probationHoursInt Hours after its creation during which an account cannot create a workspace or send a
DM request to a stranger, and sends messages at a lower rate; me.probationEndsAt says
when the caller's ends.
pendingInvitesPerUserInt Pending invitations to encrypted conversations one user holds; past it, adding them to
one more answers VALIDATION.
Used by ServerInfo
SignedStatementobject
A stored signed statement, exactly as it was signed, so the client can verify it again.
Used by DeviceKey , DmRequest , KeyLogEntry , MlsReaddRequest , Mutation.applyRemoteRevocation , PrincipalDevice , ProfileCard , RelayItem , RemoteIdentity , RemotePrincipalDevice , RevocationFanout , WorkspacePlugin
SignupWithInvitePayloadGqlobject
Payload returned from signupWithInvite and signupWithKey .
server_id is Some only when a workspaceInviteToken was used;
the instance-invite and open paths land in "no workspaces yet" state.
Field Type Description
userIdID !
serverIdID
csrfTokenString !The new session's CSRF token, the value of the rim_csrf cookie. A client that cannot
read that cookie keeps it in memory and sends it in the X-CSRF-Token header.
Used by Mutation.signupWithInvite , Mutation.signupWithKey
StartedDeviceLinkobject
Field Type Description
linkIdString !16 bytes, unpadded base64url. The server keeps only its hash, so it is shown once.
expiresAtDateTime !
Used by Mutation.startDeviceLink
StreamHeadobject
The current seq of a host event stream, as a decimal string.
Used by Query.streamHeads
UnreadCountobject
Field Type Description
conversationIdID !
countInt !
Used by Query.unreadCounts
UploadTicketobject
Used by Mutation.createAttachment
Userobject
Field Type Description
idID !
usernameString !
displayNameString
avatarUrlString
statusTextString
bioString
principalIdString Key-based principal id (rimp1_...) once the account enrolled a key; null before. Plugins
see this id, and the host maps a provisional rimp0_ id to it once.
probationEndsAtDateTime When the account leaves probation, while it is in it. Read on me only; null for
everyone else and once probation is over.
deletionScheduledForDateTime When the account's pending deletion runs, after its grace period (requestAccountDeletion );
null while none is pending, and always null except on me . Once it runs, the account is
purged and only a tombstone named "Deleted account" stays as the author of its encrypted
messages.
instanceOperatorBoolean !Whether the account is an instance operator, who may run the instance moderation queue
(instanceReports and the other instance… roots). Read on me only; false for
everyone else.
Used by Message , Mutation.updateMyProfile , Notification , Query.me , SearchResultMessage , Server , ServerBan , WorkspacePlugin
UserPresenceGqlobject
Used by Query.workspacePresence
WorkspaceDmPolicyobject
Field Type Description
workspaceIdID !
outsideFloorDmOutsideFloor !The floor for DMs to its members from outside their workspaces.
memberDefaultDmMembers !How a DM from a fellow member arrives unless the recipient chose.
Used by Mutation.setWorkspaceDmPolicy
WorkspaceDmSettingobject
The caller's choice for DMs from the members of one of their workspaces.
Field Type Description
workspaceIdID !
membersDmMembers !Their choice, or the workspace's default when they made none.
memberDefaultDmMembers !The workspace's default.
Used by MyDmSettings
WorkspaceInvitePreviewGqlobject
Minimal workspace info included in a workspace-invite preview. The workspace name and the
inviter's and owner's display names are shown to anyone holding the invite link.
Field Type Description
serverIdID !
serverNameString !
invitedByDisplayNameString !
ownerDisplayNameString The workspace owner's display name, else username; null when the workspace has no owner.
Used by InviteTokenPreviewGql