diff --git a/src/Tgstation.Server.Host/GraphQL/Mutations/UserGroupMutations.cs b/src/Tgstation.Server.Host/GraphQL/Mutations/UserGroupMutations.cs
new file mode 100644
index 0000000000..ff98da6f37
--- /dev/null
+++ b/src/Tgstation.Server.Host/GraphQL/Mutations/UserGroupMutations.cs
@@ -0,0 +1,48 @@
+using System;
+using System.Threading;
+using System.Threading.Tasks;
+
+using HotChocolate;
+using HotChocolate.Types;
+using HotChocolate.Types.Relay;
+
+using Tgstation.Server.Host.Authority;
+using Tgstation.Server.Host.GraphQL.Mutations.Payloads;
+using Tgstation.Server.Host.GraphQL.Types;
+
+namespace Tgstation.Server.Host.GraphQL.Mutations
+{
+ ///
+ /// related s.
+ ///
+ [ExtendObjectType(typeof(Mutation))]
+ public sealed class UserGroupMutations
+ {
+ public ValueTask CreateUserGroup(
+ string name,
+ PermissionSetInput permissionSet,
+ [Service] IUserGroupAuthority userGroupAuthority,
+ CancellationToken cancellationToken)
+ {
+ throw new NotImplementedException();
+ }
+
+ public ValueTask UpdateUserGroup(
+ [ID(nameof(UserGroup))] long id,
+ string? newName,
+ PermissionSetInput newPermissionSet,
+ [Service] IUserGroupAuthority userGroupAuthority,
+ CancellationToken cancellationToken)
+ {
+ throw new NotImplementedException();
+ }
+
+ public ValueTask DeleteEmptyUserGroup(
+ [ID(nameof(UserGroup))] long id,
+ [Service] IUserGroupAuthority userGroupAuthority,
+ CancellationToken cancellationToken)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}