Mutations
Mutations are write operations that create, update, or delete data. This page documents all available mutations.
Stations
addStation
Create a new station.
mutation AddStation($input: AddStationInput!) { addStation(input: $input) { id tenantId name description remotePortalId }}Input:
| Field | Type | Required | Description |
|---|---|---|---|
name | String | Yes | Station name |
description | String | No | Station description |
remotePortalId | ID | No | Link to external system |
Access: Free, Owner, Admin
updateStationName
Update a station’s name.
mutation UpdateStationName($id: ID!, $name: String!) { updateStationName(id: $id, name: $name) { id name }}Access: Free, Owner, Admin
updateStationDescription
Update a station’s description.
mutation UpdateStationDescription($id: ID!, $description: String!) { updateStationDescription(id: $id, description: $description) { id description }}Access: Free, Owner, Admin
linkStationToRemotePortal
Connect a station to an external system.
mutation LinkStationToRemotePortal($id: ID!, $remotePortalId: ID!) { linkStationToRemotePortal(id: $id, remotePortalId: $remotePortalId) { id remotePortalId }}Access: Free, Owner, Admin
unlinkStationFromRemotePortal
Remove a station’s external system connection.
mutation UnlinkStationFromRemotePortal($id: ID!) { unlinkStationFromRemotePortal(id: $id) { id remotePortalId }}Access: Free, Owner, Admin
deleteStation
Delete a station.
mutation DeleteStation($id: ID!) { deleteStation(id: $id) { id name }}Access: Free, Owner, Admin
Routes
addRoute
Create a new route.
mutation AddRoute($input: RouteInstructionsListInput!) { addRoute(input: $input) { id tenantId name status stops { id name status type } track }}Input:
input RouteInstructionsListInput { name: String! id: ID instructions: [RouteInstructionInput]!}
input RouteInstructionInput { trackType: TrackType # stop, routeTemplate, route actionStationOrRouteTemplateId: ID action: Action # startWith, addAfter, addBefore, etc. actionTargetStopId: String enableAsynchronousChildren: Boolean}Access: Free, Owner, Admin
updateRoute
Update an existing route’s structure.
mutation UpdateRoute($id: ID!, $input: RouteInstructionsListInput!) { updateRoute(id: $id, input: $input) { id name stops { id name status } track }}Access: Free, Owner, Admin
updateRouteName
Update a route’s name.
mutation UpdateRouteName($id: ID!, $name: String!) { updateRouteName(id: $id, name: $name) { id name }}Access: Free, Owner, Admin
pauseRoute
Pause an active route.
mutation PauseRoute($id: ID!) { pauseRoute(id: $id) { id status }}Access: Free, Owner, Admin
resumeRoute
Resume a paused route.
mutation ResumeRoute($id: ID!) { resumeRoute(id: $id) { id status }}Access: Free, Owner, Admin
cancelRoute
Cancel a route (irreversible).
mutation CancelRoute($id: ID!) { cancelRoute(id: $id) { id status }}Access: Free, Owner, Admin
markStopCompleted
Mark a stop as completed.
mutation MarkStopCompleted($routeId: ID!, $stopId: ID!) { markStopCompleted(routeId: $routeId, stopId: $stopId) { id stops { id status } }}Access: Free, Owner, Admin, User
unMarkStopCompleted
Revert a stop’s completed status.
mutation UnMarkStopCompleted($routeId: ID!, $stopId: ID!) { unMarkStopCompleted(routeId: $routeId, stopId: $stopId) { id stops { id status } }}Access: Free, Owner, Admin, User
deleteRoute
Delete a route.
mutation DeleteRoute($id: ID!) { deleteRoute(id: $id) { id }}Access: Free, Owner, Admin
Route Templates
addRouteTemplate
Create a new route template.
mutation AddRouteTemplate($input: RouteInstructionsListInput!) { addRouteTemplate(input: $input) { id tenantId name stops { id name } track }}Access: Free, Owner, Admin
updateRouteTemplate
Update a template’s structure.
mutation UpdateRouteTemplate($id: ID!, $input: RouteInstructionsListInput!) { updateRouteTemplate(id: $id, input: $input) { id name stops { id name } track }}Access: Free, Owner, Admin
updateRouteTemplateName
Update a template’s name.
mutation UpdateRouteTemplateName($id: ID!, $name: String!) { updateRouteTemplateName(id: $id, name: $name) { id name }}Access: Free, Owner, Admin
deleteRouteTemplate
Delete a route template.
mutation DeleteRouteTemplate($id: ID!) { deleteRouteTemplate(id: $id) { id }}Access: Free, Owner, Admin
Users
addAdminUser
Add a new admin user.
mutation AddAdminUser($username: AWSEmail!) { addAdminUser(username: $username) { id email group status }}Access: Owner, Admin
addStandardUser
Add a new standard user.
mutation AddStandardUser($username: AWSEmail!) { addStandardUser(username: $username) { id email group status }}Access: Owner, Admin
changeStandardUserToAdmin
Upgrade a user to admin.
mutation ChangeStandardUserToAdmin($id: String!) { changeStandardUserToAdmin(id: $id) { id group groupModfified }}Access: Owner, Admin
changeAdminToStandardUser
Downgrade an admin to standard user.
mutation ChangeAdminToStandardUser($id: String!) { changeAdminToStandardUser(id: $id) { id group groupModfified }}Access: Owner, Admin
activateUser
Activate a deactivated user.
mutation ActivateUser($id: String!) { activateUser(id: $id) { id enabled status }}Access: Owner, Admin
deactivateUser
Deactivate an active user.
mutation DeactivateUser($id: String!) { deactivateUser(id: $id) { id enabled status }}Access: Owner, Admin
deleteAdminUser
Delete an admin user.
mutation DeleteAdminUser($id: String!) { deleteAdminUser(id: $id) { id }}Access: Owner, Admin
deleteStandardUser
Delete a standard user.
mutation DeleteStandardUser($id: String!) { deleteStandardUser(id: $id) { id }}Access: Owner, Admin
Billing & Plans
createPlanIntent
Create a SetupIntent for adding a plan.
mutation CreatePlanIntent($planId: String!) { createPlanIntent(planId: $planId) { planId clientSecret }}Access: Free, Owner
confirmAddPlan
Confirm and add a paid plan.
mutation ConfirmAddPlan( $paymentMethodId: String! $planId: String! $setupIntentClientSecret: String!) { confirmAddPlan( paymentMethodId: $paymentMethodId planId: $planId setupIntentClientSecret: $setupIntentClientSecret ) { id planId plan { title } }}Access: Free, Owner
changePlan
Change to a different paid plan.
mutation ChangePlan($planId: String!) { changePlan(planId: $planId) { id planId plan { title } }}Access: Owner
cancelPaidPlanAtPeriodEnd
Schedule plan cancellation at billing period end.
mutation CancelPaidPlanAtPeriodEnd { cancelPaidPlanAtPeriodEnd { id cancelPlanAt }}Access: Owner
reactivateCancelingPaidPlan
Cancel a pending plan cancellation.
mutation ReactivateCancelingPaidPlan { reactivateCancelingPaidPlan { id cancelPlanAt }}Access: Owner
createPaymentMethodIntent
Create a SetupIntent for adding a payment method.
mutation CreatePaymentMethodIntent { createPaymentMethodIntent { clientSecret }}Access: Free, Owner
confirmAddPaymentMethod
Add a new payment method.
mutation ConfirmAddPaymentMethod( $paymentMethodId: String! $setupIntentClientSecret: String!) { confirmAddPaymentMethod( paymentMethodId: $paymentMethodId setupIntentClientSecret: $setupIntentClientSecret ) { id paymentType last4 cardType }}Access: Free, Owner
deletePaymentMethod
Remove a payment method.
mutation DeletePaymentMethod($paymentMethodId: String!) { deletePaymentMethod(paymentMethodId: $paymentMethodId) { id }}Access: Free, Owner
setDefaultPaymentMethod
Set a payment method as default.
mutation SetDefaultPaymentMethod($paymentMethodId: String!) { setDefaultPaymentMethod(paymentMethodId: $paymentMethodId) { id default }}Access: Free, Owner
Account Management
enableDeleteAccount
Enable the delete account action.
mutation EnableDeleteAccount { enableDeleteAccount { id deleteAccountFlag }}Access: Free, Owner
disableDeleteAccount
Disable the delete account action.
mutation DisableDeleteAccount { disableDeleteAccount { id deleteAccountFlag }}Access: Free, Owner
deleteAccount
Delete the entire account.
mutation DeleteAccount { deleteAccount { id }}Access: Free, Owner
Contact
contactUs
Send a contact form message.
mutation ContactUs($input: ContactUsInput!) { contactUs(input: $input) { messageType message }}Input:
| Field | Type | Required | Description |
|---|---|---|---|
subject | String | Yes | Message subject |
message | String | Yes | Message content |
captchaToken | String | Yes | reCAPTCHA token |
email | AWSEmail | Yes | Sender email |
Access: Public (IAM) + Free, Owner, Admin, User