diff --git a/doc/api/errors.md b/doc/api/errors.md
index 192c4ecf5772f2..9433e00897877b 100644
--- a/doc/api/errors.md
+++ b/doc/api/errors.md
@@ -1226,6 +1226,11 @@ reached.
An attempt was made to initiate a new push stream from within a push stream.
Nested push streams are not permitted.
+
+### `ERR_HTTP2_NO_MEM`
+
+Out of memory when using the `http2session.setLocalWindowSize(windowSize)` API.
+
### `ERR_HTTP2_NO_SOCKET_MANIPULATION`
diff --git a/doc/api/http2.md b/doc/api/http2.md
index b4977397f350c1..d09d093f3a71d6 100644
--- a/doc/api/http2.md
+++ b/doc/api/http2.md
@@ -519,6 +519,29 @@ added: v8.4.0
A prototype-less object describing the current remote settings of this
`Http2Session`. The remote settings are set by the *connected* HTTP/2 peer.
+#### `http2session.setLocalWindowSize(windowSize)`
+
+
+* `windowSize` {number}
+
+Sets the local endpoint's window size.
+The `windowSize` is the total window size to set, not
+the delta.
+
+```js
+const http2 = require('http2');
+
+const server = http2.createServer();
+const expectedWindowSize = 2 ** 20;
+server.on('connect', (session) => {
+
+ // Set local window size to be 2 ** 20
+ session.setLocalWindowSize(expectedWindowSize);
+});
+```
+
#### `http2session.setTimeout(msecs, callback)`