APIInputs

Inputs

85 inputs, in the order the schema defines them.

AddWorkspacePluginInputinput

FieldTypeDescription
serverIdID!
statementSignedStatementInput!
statusWorkspacePluginStatus!
bundleUrlString

Only for a bundle source; omitted, this server's copy, which must have been uploaded.

publisherKeyLog[SignedStatementInput!]

Required when the publisher is not enrolled on this server.

Used by Mutation.addWorkspacePlugin

AuditLogFilterInputinput

FieldTypeDescription
actorUserIdID
serverIdID
commandIdString
typedVerbTypedVerbGql
sinceString
untilString

Used by Query.listAuditLog

AuditLogPaginationInputinput

FieldTypeDescription
afterString

Opaque cursor from the previous page's nextCursor.

limitInt

Used by Query.listAuditLog

ChannelCursorInputinput

FieldTypeDescription
createdAtDateTime!
conversationIdID!

Used by Query.channels

ChannelListFilterinput

Narrows the channels query. By default it lists every channel the viewer can see (public channels plus private channels they belong to) that is not archived.

FieldTypeDescription
joinedOnlyBoolean! = false

Only channels the viewer has joined (the sidebar list).

includeArchivedBoolean! = false

Include archived channels.

Used by Query.channels

ClaimMlsKeyPackagesInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
devices[MlsDeviceRefInput!]!

Used by Mutation.claimMlsKeyPackages

CommandContextInputinput

FieldTypeDescription
workspaceIdID
conversationIdID
threadIdID
selectedTextString
selectedMessageIdID
selectedMessageIds[ID!]
focusedSurfaceString
activePanelString

Used by ExecuteCommandInput, ExecuteMacroInput, Query.commands

ConfirmationProofInputinput

A confirmation proof: the token and args hash of the challenge a previous call returned.

FieldTypeDescription
inBandTokenInBandTokenInput!

Used by ExecuteCommandInput, ExecuteMacroInput

CreateAttachmentInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
messageIdID
filenameString!
contentTypeString!
sizeBytesInt!
blobSha256String

Required in an encrypted conversation: unpadded base64url SHA-256 of the blob.

Used by Mutation.createAttachment

CreateChannelLensInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
nameString!
filterSpecFilterSpecInput!
isSharedBoolean

Used by Mutation.createChannelLens

CreateConversationInputinput

FieldTypeDescription
serverIdID!
otherUserIdID

For DM conversations.

memberIds[ID!]

For Group conversations.

isChannelBoolean

For Channel conversations.

titleString
isPrivateBoolean! = false

Channels only: visible to invited members alone. Cannot be changed later.

encryptedBoolean

DMs and groups only: end-to-end encrypted from creation. Every member needs a device set up for encryption. Defaults to false.

remoteMembers[RemoteMemberInput!]

People from other servers, in the direct space only. With no otherUserId or memberIds and one remote member, the conversation is a DM with them.

predecessorPredecessorInput

The conversation this one succeeds, when its home is gone.

Used by Mutation.createConversation

CreateCustomEmojiInputinput

FieldTypeDescription
serverIdID!
nameString!
imageBase64String!

Used by Mutation.createCustomEmoji

CreateInviteInputinput

FieldTypeDescription
serverIdID!
expiresAtDateTime
maxUsesInt
recipientEmailString

Optional recipient to email the invite link to. Validated server-side; malformed addresses return a validation error.

roleServerMemberRoleGql

Role granted on join: MEMBER (default) or GUEST. Any other value is a VALIDATION error.

Used by Mutation.createInvite

CreateKeybindInputinput

FieldTypeDescription
scopeKeybindScope!
workspaceIdID
keystrokeString!
commandIdString!
contextKeybindContext!
presetArgsJSON

Used by Mutation.createKeybind

CreateMacroInputinput

FieldTypeDescription
serverIdID!
nameString!
descriptionString
steps[MacroStepInput!]!
aiCallableBoolean! = false
nlDescriptionString! = ""
intentSamples[String!]! = []
sensitivityCommandSensitivity! = SAFE

Used by Mutation.createMacro

CreatePipelineInputinput

FieldTypeDescription
serverIdID!
nameString!
descriptionString
triggerPipelineTriggerInput!
filterPipelineFilterInput
actions[PipelineActionInput!]!
cooldownSecsInt

Used by Mutation.createPipeline

CreateServerInputinput

FieldTypeDescription
nameString!

Used by Mutation.createServer

CreateUserCommandInputinput

FieldTypeDescription
commandIdString!
titleString!
descriptionString!
steps[UserCommandStepInput!]!

Used by Mutation.createUserCommand

DeleteAttachmentInputinput

FieldTypeDescription
serverIdID!
attachmentIdID!

Used by Mutation.deleteAttachment

DeleteKeybindInputinput

FieldTypeDescription
keybindIdID!

Used by Mutation.deleteKeybind

DeleteMessageInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
messageIdID!

Used by Mutation.deleteMessage

DeleteUserCommandInputinput

FieldTypeDescription
commandIdString!

Used by Mutation.deleteUserCommand

DeleteWorkspaceInputinput

Delete a workspace and everything in it.

FieldTypeDescription
serverIdID!
confirmNameString!

The workspace's name, typed again to confirm.

Used by Mutation.deleteWorkspace

DeleteWorkspaceStateInputinput

FieldTypeDescription
serverIdID!
keyString!
scopeWorkspaceStateScopeGql!

Used by Mutation.deleteWorkspaceState

DndWindowInputinput

FieldTypeDescription
startString!

"HH:MM" (or "HH:MM:SS").

endString!

"HH:MM" (or "HH:MM:SS"); must differ from start.

timezoneString!

IANA timezone name, e.g. Europe/Prague.

Used by UpdateNotificationSettingsInput

EditEncryptedMessageInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
messageIdID!
envelopeString!

Used by Mutation.editEncryptedMessage

EditMessageInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
messageIdID!
textString!

Used by Mutation.editMessage

EnrollIdentityKeyInputinput

FieldTypeDescription
keyLog[SignedStatementInput!]!

The whole key log, inception first.

deviceSignedStatementInput!

Certificate of the device enrolling; this session becomes its session.

proofSignedStatementInput!

A login statement signed by that device over a fresh keyLoginChallenge, proving the caller holds the device key.

Used by Mutation.enrollIdentityKey

ExecuteCommandInputinput

FieldTypeDescription
commandIdString!
argsJSON
commandContextCommandContextInput
confirmationConfirmationProofInput

Confirmation proof from a previous executeCommand that returned status: CONFIRMATION_REQUIRED. Required when re-submitting that call. The server binds the proof to the actor, command id, arguments and context, so it cannot confirm a different call.

isPipeBoolean
initiatorCommandInitiator

Who issued this command. When omitted, the server treats the call as PALETTE, a human action, never as an agent action. AGENT fails with FEATURE_DISABLED while the instance has the AI command surface off.

Used by Mutation.executeCommand

ExecuteMacroInputinput

FieldTypeDescription
macroIdID!
commandContextCommandContextInput
confirmationConfirmationProofInput

Confirmation proof, as in ExecuteCommandInput.confirmation. One proof issued for the macro covers every step of it.

initiatorCommandInitiator

Who triggered this macro, as in ExecuteCommandInput.initiator: PALETTE when omitted. Every step runs with this initiator.

Used by Mutation.executeMacro

FilterConditionInputinput

FieldTypeDescription
fieldFilterField!
opFilterOp!
valueJSON!

Used by FilterSpecInput

FilterSpecInputinput

FieldTypeDescription
conditions[FilterConditionInput!]!
logicFilterLogic!

Used by CreateChannelLensInput, UpdateChannelLensInput

FinalizeAttachmentInputinput

FieldTypeDescription
serverIdID!
attachmentIdID!

Used by Mutation.finalizeAttachment

ForwardMessageInputinput

FieldTypeDescription
serverIdID!
sourceConversationIdID!
targetConversationIdID!
messageIdID!

Used by Mutation.forwardMessage

HeartbeatInputinput

FieldTypeDescription
workspaceIdID!
statusPresenceStatus!

Used by Mutation.heartbeat

InBandTokenInputinput

FieldTypeDescription
tokenString!
argsHashString!

Used by ConfirmationProofInput

InboxCursorInputinput

FieldTypeDescription
lastActivityAtDateTime!
conversationIdID!

Used by Query.inboxConversations

JoinRemoteWorkspaceInputinput

Join a workspace on another host through this relay.

FieldTypeDescription
hostServerIdString!
hostOriginString!

The host's origin, from the invite link.

inviteTokenString

The invite token; null for a current member.

proofSignedStatementInput!

A login statement over a remoteJoinChallenge, naming the host's server id.

delegationSignedStatementInput!

A delegation of the signing device for this relay, the host and the workspace.

Used by Mutation.joinRemoteWorkspace

JoinServerByInviteInputinput

FieldTypeDescription
inviteTokenString!

Used by Mutation.joinServerByInvite

LoginInputinput

FieldTypeDescription
usernameString!
passwordString!

Used by Mutation.login

MacroStepInputinput

FieldTypeDescription
commandIdString!
argsJSON

Used by CreateMacroInput, UpdateMacroInput

MarkAllAsReadInputinput

FieldTypeDescription
workspaceIdID!

Used by Mutation.markAllAsRead

MarkAsReadInputinput

FieldTypeDescription
workspaceIdID!
conversationIdID!
readAtDateTime!

Used by Mutation.markAsRead

MessageChangeCursorInputinput

One conversation to read in messageChanges, with the cursor the client stored for it.

FieldTypeDescription
conversationIdID!
afterString

The cursor a previous messageChanges call returned for this conversation. Opaque. Omit (or pass null) to read the conversation's whole history from the beginning.

Used by MessageChangesInput

MessageChangesInputinput

Input for messageChanges.

FieldTypeDescription
serverIdID!
conversations[MessageChangeCursorInput!]!

At most 100 conversations. One the caller cannot read comes back with status NO_ACCESS.

limitInt

Maximum changes per conversation. Clamped to 1..=200; defaults to 100.

Used by Query.messageChanges

MessageCursorInputinput

FieldTypeDescription
sentAtDateTime!
messageIdID!

Used by Query.messages, Query.threadMessages, SearchMessagesInput

MessageReportCursorInputinput

FieldTypeDescription
createdAtDateTime!
reportIdID!

Used by Query.messageReports

MlsDeviceRefInputinput

FieldTypeDescription
principalIdString!
deviceIdID!

Used by ClaimMlsKeyPackagesInput

MuteConversationInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
mutedUntilDateTime

Used by Mutation.muteConversation

NotificationCursorInputinput

FieldTypeDescription
createdAtDateTime!
notificationIdID!

Used by Query.myNotifications

PinMessageInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
messageIdID!

Used by Mutation.pinMessage

PipelineActionInputinput

FieldTypeDescription
commandIdString!
argsJSON

Used by CreatePipelineInput, UpdatePipelineInput

PipelineFilterConditionInputinput

FieldTypeDescription
conditionTypeString!
patternString
userIdID
conversationIdID

Used by PipelineFilterInput

PipelineFilterInputinput

FieldTypeDescription
conditions[PipelineFilterConditionInput!]!

Used by CreatePipelineInput, UpdatePipelineInput

PipelineTriggerInputinput

FieldTypeDescription
kindPipelineTriggerKindGql!
conversationIdID

Used by CreatePipelineInput, UpdatePipelineInput

PredecessorInputinput

The conversation a successor replaces.

FieldTypeDescription
hostServerIdString!
conversationIdID!

Used by CreateConversationInput

RemoteMemberInputinput

Someone from another server to start a conversation with.

FieldTypeDescription
principalIdString!
relayUrls[String!]!

Their relays, tried in order to fetch their identity.

Used by CreateConversationInput

ReplyToMessageInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
rootMessageIdID!
textString!
parentMessageIdID

Used by Mutation.replyToMessage

ReportEncryptedMessageInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
messageIdID!
reasonString!
contentString!

The decrypted content, exactly as committed to.

frankingKeyString!
receiptString!
receiptKeyIdInt!
senderUserIdID!
senderDeviceIdID!
sentAtUsString!

Decimal microseconds.

Used by Mutation.reportEncryptedMessage

RequestAccountDeletionInputinput

Ask for the signed-in account to be deleted.

FieldTypeDescription
confirmUsernameString!

The account's username, typed again to confirm.

Used by Mutation.requestAccountDeletion

RequestMlsReaddInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
requestSignedStatementInput!

The mls-readd statement, signed by the session's device key.

Used by Mutation.requestMlsReadd

RotateIdentityKeyInputinput

FieldTypeDescription
entrySignedStatementInput!
deviceSignedStatementInput

Device certificate under the new identity key. Required for a recovery rotation.

Used by Mutation.rotateIdentityKey

SealedMessageInputinput

A sealed offer or answer: the 12-byte nonce and the AES-GCM ciphertext with its 16-byte tag appended, both unpadded base64url. The server checks only the encoding and the size.

FieldTypeDescription
nonceString!
ciphertextString!

Used by Mutation.sendDeviceLinkOffer, Mutation.sendDeviceLinkAnswer

SearchMessagesInputinput

Input for the searchMessages full-text-search query. query accepts free text plus the from:, in:, has:, before: and after: operators.

FieldTypeDescription
serverIdID!
queryString!
conversationIdID

Optional explicit single-conversation scope, in addition to the in: search operator.

limitInt

Clamped server-side; defaults to 25 if omitted.

cursorMessageCursorInput
dirPageDir

Defaults to AFTER (most-recent-first) if omitted.

Used by Query.searchMessages

SendEncryptedMessageInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
messageIdID!

Chosen by the client (UUID v7).

envelopeString!
threadRootMessageIdID
forwardedFromMessageIdID

Used by Mutation.sendEncryptedMessage

SendMessageInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
textString!
parentMessageIdID
forwardedFromMessageIdID

The message this one forwards by sending its content again (an encrypted message's content, after the person confirmed it is posted unencrypted). The caller must be able to read it.

Used by Mutation.sendMessage

SetWorkspaceStateInputinput

FieldTypeDescription
serverIdID!
keyString!
valueJSON!
scopeWorkspaceStateScopeGql!
ttlSecondsInt

Used by Mutation.setWorkspaceState

SignedStatementInputinput

A signed statement as the client sends it: the exact JSON text that was signed, and its signature (ed25519:<base64url> in version 2 statements, bare base64url in version 1).

FieldTypeDescription
payloadString!
signatureString!

Used by AddWorkspacePluginInput, EnrollIdentityKeyInput, JoinRemoteWorkspaceInput, Mutation.loginWithKey, Mutation.addDeviceKey, Mutation.revokeDeviceKey, Mutation.publishProfileCard, Mutation.renewDelegations, Mutation.applyRemoteRevocation, RequestMlsReaddInput, RotateIdentityKeyInput, SignupWithKeyInput, UpdateWorkspacePluginInput

SignupWithInviteInputinput

Input for signupWithInvite.

Exactly one token MUST be set in invite-only mode; all must be absent in open mode. The resolver enforces this with a Validation error.

email is required (max 254 chars, server trims + lowercases, case-insensitive unique). displayName is optional; falls back to username server-side if absent or blank.

FieldTypeDescription
usernameString!
emailString!

Required. The user's email address. Trimmed and lowercased before storage. Must look like local@domain.tld and be at most 254 characters.

displayNameString

Optional display name (1–80 chars when present). Falls back to username when absent or blank after trim.

passwordString!
instanceInviteTokenString
workspaceInviteTokenString
acceptedTermsUrlString

The terms of service the person accepted: serverInfo.termsUrl, sent back unchanged. Required when the server has terms (VALIDATION when missing or different); ignored when it has none.

Used by Mutation.signupWithInvite

SignupWithKeyInputinput

Input for signupWithKey: an account created from a key identity alone, with no password and no email. The tokens follow the same rules as signupWithInvite: exactly one in invite-only mode, none in open mode. In pow mode it takes one token or proofOfWork.

FieldTypeDescription
usernameString!
displayNameString

Optional display name (1–80 chars when present). Falls back to username when absent or blank after trim.

keyLog[SignedStatementInput!]!

The whole key log, inception first.

deviceSignedStatementInput!

Certificate of the device signing up; the new session belongs to it.

proofSignedStatementInput!

A login statement signed by that device over a fresh keyLoginChallenge.

instanceInviteTokenString
workspaceInviteTokenString
proofOfWorkString

In pow registration mode: an 8-byte nonce, unpadded base64url, such that SHA-256("rim.pow.v1\0" || server id || "\0" || inception payload || nonce) starts with the descriptor's powBits zero bits.

acceptedTermsUrlString

The terms of service the person accepted, as for signupWithInvite.

Used by Mutation.signupWithKey

SubmitMlsCommitInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
incarnationInt!
epochInt!
cipherSuiteInt

Required for an incarnation's first Commit (epoch 0).

commitString!
welcomeString

Required when the Commit adds devices.

Used by Mutation.submitMlsCommit

ToggleReactionInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
messageIdID!
emojiString!

Used by Mutation.toggleReaction

TransferWorkspaceOwnershipInputinput

Hand a workspace's ownership to another member.

FieldTypeDescription
serverIdID!
userIdID!

The member, not a guest, who becomes the owner.

Used by Mutation.transferWorkspaceOwnership

UnmuteConversationInputinput

FieldTypeDescription
serverIdID!
conversationIdID!

Used by Mutation.unmuteConversation

UnpinMessageInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
messageIdID!

Used by Mutation.unpinMessage

UpdateChannelLensInputinput

FieldTypeDescription
serverIdID!
lensIdID!
nameString
filterSpecFilterSpecInput
isSharedBoolean

Used by Mutation.updateChannelLens

UpdateConversationTopicInputinput

FieldTypeDescription
serverIdID!
conversationIdID!
topicString

Used by Mutation.updateConversationTopic

UpdateKeybindInputinput

FieldTypeDescription
keybindIdID!
keystrokeString!
commandIdString!
contextKeybindContext!
presetArgsJSON
isEnabledBoolean!

Used by Mutation.updateKeybind

UpdateMacroInputinput

FieldTypeDescription
macroIdID!
nameString!
descriptionString
steps[MacroStepInput!]!
aiCallableBoolean! = false
nlDescriptionString! = ""
intentSamples[String!]! = []
sensitivityCommandSensitivity! = SAFE

Used by Mutation.updateMacro

UpdateMyProfileInputinput

Patch fields on the authenticated user's profile.

Each field is independently optional. Omitting a field leaves the existing value unchanged. Sending an explicit empty string clears the field (after trim + control-char strip).

FieldTypeDescription
displayNameString
avatarUrlString
statusTextString
bioString

Used by Mutation.updateMyProfile

UpdateNotificationSettingsInputinput

Replaces the editable settings (the manual pause is separate: setDoNotDisturb).

FieldTypeDescription
defaultLevelNotificationLevel!
keywords[String!]!

At most 20, each 2 to 40 characters; stored lower-cased and deduplicated.

dndDndWindowInput

Null turns the daily window off.

digestDigestFrequency!
reactionsBoolean

Whether reactions to the viewer's messages notify them; null keeps the current value.

Used by Mutation.updateNotificationSettings

UpdatePipelineInputinput

FieldTypeDescription
pipelineIdID!
nameString!
descriptionString
triggerPipelineTriggerInput!
filterPipelineFilterInput
actions[PipelineActionInput!]!
cooldownSecsInt

Used by Mutation.updatePipeline

UpdateUserCommandInputinput

FieldTypeDescription
commandIdString!
titleString!
descriptionString!
steps[UserCommandStepInput!]!
isEnabledBoolean!

Used by Mutation.updateUserCommand

UpdateWorkspacePluginInputinput

FieldTypeDescription
serverIdID!
pluginIdString!
statementSignedStatementInput

A new version, or a re-signed one, of the same plugin.

statusWorkspacePluginStatus
bundleUrlString
publisherKeyLog[SignedStatementInput!]

Used by Mutation.updateWorkspacePlugin

UserCommandStepInputinput

FieldTypeDescription
commandIdString!
argsJSON

Used by CreateUserCommandInput, UpdateUserCommandInput