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
| Mutation | Parameters | Return Type | Description |
|---|---|---|---|
createAgentFromTemplate | projectId: String!, input: CreateAgentInput! | Agent | Create a new agent from a template |
startAgent | projectId: String!, request: StartServiceRequest! | ServiceInfo | Start an agent service |
stopAgent | projectId: String!, name: String! | Boolean | Stop a running agent |
restartAgent | projectId: String!, name: String! | Boolean | Restart an agent service |
startTemplateAgent | projectId: String!, agentName: String! | ServiceInfo | Start an agent using its template configuration |
resyncAgentTemplate | projectId: String!, agentName: String! | Boolean | Re-sync agent files from the template |
deleteTemplateAgent | projectId: String!, agentName: String! | Boolean | Delete a template-based agent and its files |
updateAgentProfile | projectId: String!, agentId: Long!, input: AgentProfileInput! | AgentProfile | Update agent display name, avatar, or email settings |
createAgentEmailRule | projectId: String!, agentId: Long!, input: AgentEmailRuleInput! | AgentEmailRule | Create an email processing rule |
updateAgentEmailRule | projectId: String!, ruleId: Long!, input: AgentEmailRuleInput! | AgentEmailRule | Update an existing email rule |
deleteAgentEmailRule | projectId: String!, ruleId: Long! | Boolean | Delete an email rule |
reorderAgentEmailRules | projectId: String!, agentId: Long!, orderedRuleIds: [Long!]! | Boolean | Set the evaluation order of email rules |
restoreFromTrash | projectId: String!, trashId: Long! | Boolean | Restore a trashed email to the inbox |
deleteFromTrash | projectId: String!, trashId: Long! | Boolean | Permanently delete a trashed email |
approveContact | projectId: String!, contactId: Long! | Boolean | Approve a pending contact for agent email |
blockContact | projectId: String!, contactId: Long! | Boolean | Block a contact from emailing the agent |
approveOutboxEmail | projectId: String!, outboxId: Long! | Boolean | Approve a pending outbound email for sending |
rejectOutboxEmail | projectId: String!, outboxId: Long! | Boolean | Reject and discard a pending outbound email |
Services
| Mutation | Parameters | Return Type | Description |
|---|---|---|---|
startService | projectId: String!, request: StartServiceRequest! | ServiceInfo | Start a generic service |
stopService | projectId: String!, name: String! | Boolean | Stop a running service |
restartService | projectId: String!, name: String! | Boolean | Restart a service |
ensureStudio | projectId: String! | ServiceInfo | Start the Xircuits Studio if not already running |
Jobs
| Mutation | Parameters | Return Type | Description |
|---|---|---|---|
createJob | input: CreateJobInput!, projectId: String! | Job | Create and queue a new job |
deleteJob | id: Long! | Boolean | Delete a job |
createJobSchedule | input: JobScheduleInput!, projectId: String! | JobSchedule | Create a recurring job schedule |
updateJobSchedule | id: Long!, input: JobScheduleInput! | JobSchedule | Update an existing schedule |
deleteJobSchedule | id: Long! | Boolean | Delete a job schedule |
toggleJobSchedule | id: Long!, enabled: Boolean! | Boolean | Enable or disable a schedule |
runJobScheduleNow | id: Long! | Job | Immediately trigger a scheduled job |
Skills & Procedures
| Mutation | Parameters | Return Type | Description |
|---|---|---|---|
saveProcedure | projectId: String!, agentName: String!, procedureName: String!, input: ProcedureInput! | Procedure | Create a new procedure |
updateProcedure | projectId: String!, agentName: String!, procedureName: String!, input: ProcedureInput! | Procedure | Update an existing procedure |
deleteProcedure | projectId: String!, agentName: String!, procedureName: String! | Boolean | Delete a procedure |
saveProcedureByJson | projectId: String!, procedureJson: String! | Procedure | Create a procedure from a JSON string |
saveSkill | projectId: String!, agentName: String!, skillName: String!, input: SkillInput! | Skill | Create a new skill |
saveSkillByJson | projectId: String!, skillJson: String! | Skill | Create a skill from a JSON string |
updateSkillByJson | projectId: String!, agentName: String!, originalSkillName: String!, skillJson: String! | Skill | Update a skill using a JSON string |
deleteSkill | projectId: String!, agentName: String!, skillName: String! | Boolean | Delete a skill |
createSkillFile | projectId: String!, agentName: String!, skillName: String!, input: SkillFileInput! | SkillFile | Add a file to a skill |
updateSkillFile | projectId: String!, agentName: String!, skillName: String!, skillFileName: String!, input: SkillFileInput! | SkillFile | Update a skill file |
deleteSkillFile | projectId: String!, agentName: String!, skillName: String!, skillFileName: String! | Boolean | Delete a file from a skill |
Projects
| Mutation | Parameters | Return Type | Description |
|---|---|---|---|
createProject | name: String!, namespace: String!, repository: String | Project | Create a new project |
renameProject | id: String!, name: String! | Project | Rename an existing project |
deleteProject | id: String! | Boolean | Delete a project and all its resources |
updateProjectTimezone | projectId: String!, timezone: String! | ProjectSetting | Set the project timezone (IANA format) |
inviteToProject | userId: String!, projectId: String! | Boolean | Invite a user to a team project |
acceptProjectInvite | projectId: String! | Boolean | Accept a pending project invitation |
declineProjectInvite | projectId: String! | Boolean | Decline a pending project invitation |
uninviteFromProject | userId: String!, projectId: String! | Boolean | Revoke a pending invitation |
removeFromProject | userId: String!, projectId: String! | Boolean | Remove a member from a project |
upsertIntegrations | projectId: String!, integrations: [IntegrationInput!]! | [Integration] | Create or update project integrations |
Workspaces
| Mutation | Parameters | Return Type | Description |
|---|---|---|---|
createWorkspace | name: String!, parentWorkspaceId: Long | Workspace | Create a new workspace (optionally nested) |
renameWorkspace | workspaceId: Long!, name: String! | Workspace | Rename a workspace |
moveWorkspace | workspaceId: Long!, newParentWorkspaceId: Long | Workspace | Move a workspace under a new parent |
deleteWorkspace | workspaceId: Long! | Boolean | Delete a workspace |
assignProjectToWorkspace | projectId: String!, workspaceId: Long! | Boolean | Assign a project to a workspace |
Data / Vector
| Mutation | Parameters | Return Type | Description |
|---|---|---|---|
createVectorSpace | projectId: String!, request: CreateVectorSpaceRequest! | VectorSpace | Create a new vector space |
renameVectorSpace | projectId: String!, id: Long!, newName: String! | VectorSpace | Rename a vector space |
deleteVectorSpace | projectId: String!, id: Long! | Boolean | Delete a vector space and all its data |
delete | projectId: String!, vectorSpaceId: Long!, entryId: Long! | Boolean | Delete a single vector space entry. Note: This mutation specifically deletes vector space entries, not other resource types. |
createToken | projectId: String!, request: CreateTokenRequest! | VectoToken | Create a new vector API token |
deleteToken | projectId: String!, id: Long! | Boolean | Delete a vector API token |
User
| Mutation | Parameters | Return Type | Description |
|---|---|---|---|
signUp | firstName: String!, lastName: String!, email: String!, password: String!, namespace: String!, comment: String | Boolean | Register a new user account |
updateUserAvatar | avatarIndex: Int! | Boolean | Change the user's avatar to a preset |
updateUserTimezone | timezone: String! | Boolean | Set the user's timezone (IANA format) |
removeProfilePicture | (none) | Boolean | Remove the user's profile picture |
Notifications
| Mutation | Parameters | Return Type | Description |
|---|---|---|---|
setNotificationPreference | projectId: String!, level: String! | Boolean | Set project-wide notification level |
conversationNotificationPreference | projectId: String!, conversationId: Long!, level: String! | Boolean | Set notification level for a specific conversation |
deleteConversationNotificationPreference | projectId: String!, conversationId: Long! | Boolean | Reset a conversation notification preference to project default |
Tokens
| Mutation | Parameters | Return Type | Description |
|---|---|---|---|
createPlatformToken | projectId: String!, input: PlatformTokenInput! | PlatformToken | Create a new platform API token |
Misc
| Mutation | Parameters | Return Type | Description |
|---|---|---|---|
contactUs | input: ContactUsInput! | Boolean | Submit 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 }
}
}
}