diff --git a/services/identity/src/client_service.rs b/services/identity/src/client_service.rs
--- a/services/identity/src/client_service.rs
+++ b/services/identity/src/client_service.rs
@@ -37,7 +37,10 @@
 use tonic::Response;
 use tracing::{debug, error};
 
-use self::client_proto::ReservedRegistrationStartRequest;
+use self::client_proto::{
+  AddReservedUsernameRequest, RemoveReservedUsernameRequest,
+  ReservedRegistrationStartRequest,
+};
 
 #[derive(Clone)]
 pub enum WorkflowInProgress {
@@ -811,6 +814,20 @@
     let response = Response::new(VerifyUserAccessTokenResponse { token_valid });
     Ok(response)
   }
+
+  async fn add_reserved_username(
+    &self,
+    _request: tonic::Request<AddReservedUsernameRequest>,
+  ) -> Result<tonic::Response<Empty>, tonic::Status> {
+    unimplemented!()
+  }
+
+  async fn remove_reserved_username(
+    &self,
+    _request: tonic::Request<RemoveReservedUsernameRequest>,
+  ) -> Result<tonic::Response<Empty>, tonic::Status> {
+    unimplemented!()
+  }
 }
 
 pub fn handle_db_error(db_error: DBError) -> tonic::Status {
diff --git a/shared/protos/identity_client.proto b/shared/protos/identity_client.proto
--- a/shared/protos/identity_client.proto
+++ b/shared/protos/identity_client.proto
@@ -66,6 +66,15 @@
   // Called by other services to verify a user's access token
   rpc VerifyUserAccessToken(VerifyUserAccessTokenRequest) returns
     (VerifyUserAccessTokenResponse) {}
+
+  // Ashoat's keyserver actions
+
+  // Called by Ashoat's keyserver to add usernames to the Identity service's
+  // reserved list
+  rpc AddReservedUsername(AddReservedUsernameRequest) returns (Empty) {}
+  // Called by Ashoat's keyserver to remove usernames from the Identity
+  // service's reserved list
+  rpc RemoveReservedUsername(RemoveReservedUsernameRequest) returns (Empty) {}
 }
 
 // Helper types
@@ -330,3 +339,21 @@
 message VerifyUserAccessTokenResponse {
   bool tokenValid = 1;
 }
+
+// AddReservedUsername
+
+message AddReservedUsernameRequest {
+  // Message from Ashoat's keyserver containing the username to be added
+  string message = 1;
+  // Above message signed with Ashoat's keyserver's signing ed25519 key
+  string signature = 2;
+}
+
+// RemoveReservedUsername
+
+message RemoveReservedUsernameRequest {
+  // Message from Ashoat's keyserver containing the username to be removed
+  string message = 1;
+  // Above message signed with Ashoat's keyserver's signing ed25519 key
+  string signature = 2;
+}