Skip to main content

GraphQL Mutations Reference

All available GraphQL mutations, organized by domain. Each entry lists the mutation name, parameters, return type, and a brief description.

tip

All mutations are sent as POST requests to /graphql. See GraphQL API Overview for authentication and usage examples.


Agents

MutationParametersReturn TypeDescription
createAgentFromTemplateprojectId: String!, input: CreateAgentInput!AgentCreate a new agent from a template
startAgentprojectId: String!, request: StartServiceRequest!ServiceInfoStart an agent service
stopAgentprojectId: String!, name: String!BooleanStop a running agent
restartAgentprojectId: String!, name: String!BooleanRestart an agent service
startTemplateAgentprojectId: String!, agentName: String!ServiceInfoStart an agent using its template configuration
resyncAgentTemplateprojectId: String!, agentName: String!BooleanRe-sync agent files from the template
deleteTemplateAgentprojectId: String!, agentName: String!BooleanDelete a template-based agent and its files
updateAgentProfileprojectId: String!, agentId: Long!, input: AgentProfileInput!AgentProfileUpdate agent display name, avatar, or email settings
createAgentEmailRuleprojectId: String!, agentId: Long!, input: AgentEmailRuleInput!AgentEmailRuleCreate an email processing rule
updateAgentEmailRuleprojectId: String!, ruleId: Long!, input: AgentEmailRuleInput!AgentEmailRuleUpdate an existing email rule
deleteAgentEmailRuleprojectId: String!, ruleId: Long!BooleanDelete an email rule
reorderAgentEmailRulesprojectId: String!, agentId: Long!, orderedRuleIds: [Long!]!BooleanSet the evaluation order of email rules
restoreFromTrashprojectId: String!, trashId: Long!BooleanRestore a trashed email to the inbox
deleteFromTrashprojectId: String!, trashId: Long!BooleanPermanently delete a trashed email
approveContactprojectId: String!, contactId: Long!BooleanApprove a pending contact for agent email
blockContactprojectId: String!, contactId: Long!BooleanBlock a contact from emailing the agent
approveOutboxEmailprojectId: String!, outboxId: Long!BooleanApprove a pending outbound email for sending
rejectOutboxEmailprojectId: String!, outboxId: Long!BooleanReject and discard a pending outbound email

Services

MutationParametersReturn TypeDescription
startServiceprojectId: String!, request: StartServiceRequest!ServiceInfoStart a generic service
stopServiceprojectId: String!, name: String!BooleanStop a running service
restartServiceprojectId: String!, name: String!BooleanRestart a service
ensureStudioprojectId: String!ServiceInfoStart the Xircuits Studio if not already running

Jobs

MutationParametersReturn TypeDescription
createJobinput: CreateJobInput!, projectId: String!JobCreate and queue a new job
deleteJobid: Long!BooleanDelete a job
createJobScheduleinput: JobScheduleInput!, projectId: String!JobScheduleCreate a recurring job schedule
updateJobScheduleid: Long!, input: JobScheduleInput!JobScheduleUpdate an existing schedule
deleteJobScheduleid: Long!BooleanDelete a job schedule
toggleJobScheduleid: Long!, enabled: Boolean!BooleanEnable or disable a schedule
runJobScheduleNowid: Long!JobImmediately trigger a scheduled job

Skills & Procedures

MutationParametersReturn TypeDescription
saveProcedureprojectId: String!, agentName: String!, procedureName: String!, input: ProcedureInput!ProcedureCreate a new procedure
updateProcedureprojectId: String!, agentName: String!, procedureName: String!, input: ProcedureInput!ProcedureUpdate an existing procedure
deleteProcedureprojectId: String!, agentName: String!, procedureName: String!BooleanDelete a procedure
saveProcedureByJsonprojectId: String!, procedureJson: String!ProcedureCreate a procedure from a JSON string
saveSkillprojectId: String!, agentName: String!, skillName: String!, input: SkillInput!SkillCreate a new skill
saveSkillByJsonprojectId: String!, skillJson: String!SkillCreate a skill from a JSON string
updateSkillByJsonprojectId: String!, agentName: String!, originalSkillName: String!, skillJson: String!SkillUpdate a skill using a JSON string
deleteSkillprojectId: String!, agentName: String!, skillName: String!BooleanDelete a skill
createSkillFileprojectId: String!, agentName: String!, skillName: String!, input: SkillFileInput!SkillFileAdd a file to a skill
updateSkillFileprojectId: String!, agentName: String!, skillName: String!, skillFileName: String!, input: SkillFileInput!SkillFileUpdate a skill file
deleteSkillFileprojectId: String!, agentName: String!, skillName: String!, skillFileName: String!BooleanDelete a file from a skill

Projects

MutationParametersReturn TypeDescription
createProjectname: String!, namespace: String!, repository: StringProjectCreate a new project
renameProjectid: String!, name: String!ProjectRename an existing project
deleteProjectid: String!BooleanDelete a project and all its resources
updateProjectTimezoneprojectId: String!, timezone: String!ProjectSettingSet the project timezone (IANA format)
inviteToProjectuserId: String!, projectId: String!BooleanInvite a user to a team project
acceptProjectInviteprojectId: String!BooleanAccept a pending project invitation
declineProjectInviteprojectId: String!BooleanDecline a pending project invitation
uninviteFromProjectuserId: String!, projectId: String!BooleanRevoke a pending invitation
removeFromProjectuserId: String!, projectId: String!BooleanRemove a member from a project
upsertIntegrationsprojectId: String!, integrations: [IntegrationInput!]![Integration]Create or update project integrations

Workspaces

MutationParametersReturn TypeDescription
createWorkspacename: String!, parentWorkspaceId: LongWorkspaceCreate a new workspace (optionally nested)
renameWorkspaceworkspaceId: Long!, name: String!WorkspaceRename a workspace
moveWorkspaceworkspaceId: Long!, newParentWorkspaceId: LongWorkspaceMove a workspace under a new parent
deleteWorkspaceworkspaceId: Long!BooleanDelete a workspace
assignProjectToWorkspaceprojectId: String!, workspaceId: Long!BooleanAssign a project to a workspace

Data / Vector

MutationParametersReturn TypeDescription
createVectorSpaceprojectId: String!, request: CreateVectorSpaceRequest!VectorSpaceCreate a new vector space
renameVectorSpaceprojectId: String!, id: Long!, newName: String!VectorSpaceRename a vector space
deleteVectorSpaceprojectId: String!, id: Long!BooleanDelete a vector space and all its data
deleteprojectId: String!, vectorSpaceId: Long!, entryId: Long!BooleanDelete a single vector space entry. Note: This mutation specifically deletes vector space entries, not other resource types.
createTokenprojectId: String!, request: CreateTokenRequest!VectoTokenCreate a new vector API token
deleteTokenprojectId: String!, id: Long!BooleanDelete a vector API token

User

MutationParametersReturn TypeDescription
signUpfirstName: String!, lastName: String!, email: String!, password: String!, namespace: String!, comment: StringBooleanRegister a new user account
updateUserAvataravatarIndex: Int!BooleanChange the user's avatar to a preset
updateUserTimezonetimezone: String!BooleanSet the user's timezone (IANA format)
removeProfilePicture(none)BooleanRemove the user's profile picture

Notifications

MutationParametersReturn TypeDescription
setNotificationPreferenceprojectId: String!, level: String!BooleanSet project-wide notification level
conversationNotificationPreferenceprojectId: String!, conversationId: Long!, level: String!BooleanSet notification level for a specific conversation
deleteConversationNotificationPreferenceprojectId: String!, conversationId: Long!BooleanReset a conversation notification preference to project default

Tokens

MutationParametersReturn TypeDescription
createPlatformTokenprojectId: String!, input: PlatformTokenInput!PlatformTokenCreate a new platform API token

Misc

MutationParametersReturn TypeDescription
contactUsinput: ContactUsInput!BooleanSubmit a contact/support request

Input Type Definitions

The input types referenced above (e.g., CreateAgentInput, JobScheduleInput, ProcedureInput) are defined in the GraphQL schema but are not yet individually documented here. Use your GraphQL client's introspection feature or run an introspection query to explore the full schema:

{
__type(name: "CreateAgentInput") {
inputFields {
name
type { name kind }
}
}
}