Index: src/routes/activitypub.js
===================================================================
--- src/routes/activitypub.js	(revision 5a93ac05e84fc2017fb741af8a7071f46419619d)
+++ src/routes/activitypub.js	(revision 55bc7f95d6ee2d94bdaba55d6ca87265e217dbc4)
@@ -74,5 +74,10 @@
     "SELECT * FROM posts WHERE id = ? AND status = 'published' AND (fan_only IS NULL OR fan_only = 0)"
   ).get(req.params.id);
-  if (!post) return res.status(404).end();
+  if (!post) {
+    // Could be one of OUR outbound replies (ap_outbox), not a post.
+    const note = AP.getOutboxNote(baseUrl(req), req.params.id);
+    if (note) return AP.sendAP(res, { '@context': 'https://www.w3.org/ns/activitystreams', ...note });
+    return res.status(404).end();
+  }
   const site = db.prepare('SELECT * FROM sites WHERE id = ?').get(post.site_id);
   if (!site) return res.status(404).end();
