diff --git a/keyserver/src/updaters/relationship-updaters.js b/keyserver/src/updaters/relationship-updaters.js
--- a/keyserver/src/updaters/relationship-updaters.js
+++ b/keyserver/src/updaters/relationship-updaters.js
@@ -246,6 +246,16 @@
       operation: 'farcaster_mutual',
     }));
     await createMessages(viewer, messageDatas, 'broadcast');
+  } else if (request.action === relationshipActions.ACKNOWLEDGE) {
+    updateIDs.push(...userIDs);
+
+    const insertRows = userIDs.map(userID => {
+      const [user1, user2] = sortUserIDs(viewer.userID, userID);
+      return { user1, user2, status: undirectedStatus.KNOW_OF };
+    });
+
+    const updateDatas = await updateChangedUndirectedRelationships(insertRows);
+    await createUpdates(updateDatas);
   } else {
     invariant(
       false,
diff --git a/lib/types/relationship-types.js b/lib/types/relationship-types.js
--- a/lib/types/relationship-types.js
+++ b/lib/types/relationship-types.js
@@ -42,6 +42,7 @@
   UNFRIEND: 'unfriend',
   BLOCK: 'block',
   UNBLOCK: 'unblock',
+  ACKNOWLEDGE: 'acknowledge',
 });
 
 const farcasterRelationshipActions = Object.freeze({