diff --git a/docs/protocol/signalproxy/objects.md b/docs/protocol/signalproxy/objects.md
index 272438ab48bc4c01fdcb208d7e62d95099f52bd9..bcd8c6f320df7415ced761fb9a4bd1de025c088a 100644
--- a/docs/protocol/signalproxy/objects.md
+++ b/docs/protocol/signalproxy/objects.md
@@ -128,6 +128,10 @@ interface BacklogManager {
      * Loads backlog for `bufferId`, starting at message `first`, up to `last`
      * (plus `additional` more messages after `last`) but at most `limit`
      * messages total.
+     * 
+     * first == -1 && last == -1: highest $limit messages
+     * last == -1:                $msgid in [$first, ∞), highest $limit
+     * else:                      $msgid in [$first, $last), highest $limit messages
      */
     requestBacklog(bufferId: BufferId, first: MsgId, last: MsgId, limit: Int, additional: Int)
     /**
@@ -135,6 +139,15 @@ interface BacklogManager {
      * with certain `flags` set.
      */
     requestBacklogFiltered(bufferId: BufferId, first: MsgId, last: MsgId, limit: Int, additional: Int, type: Int, flags: Int)
+    /**
+     * Same as `requestBacklog`, but only messages of a certain message `type`
+     * with certain `flags` set.
+     *
+     * first == -1 && last == -1: lowest $limit messages
+     * last == -1:                $msgid in [$first, ∞), lowest $limit
+     * else:                      $msgid in [$first, $last), lowest $limit messages
+     */
+    requestBacklogForward(bufferId: BufferId, first: MsgId, last: MsgId, limit: Int, type: Int, flags: Int)
     /**
      * Same as `requestBacklog`, but applied to all buffers.
      */