diff --git a/cryptography/hazmat/oath/hotp.py b/cryptography/hazmat/oath/hotp.py
index a1f6274..9f5a0f1 100644
--- a/cryptography/hazmat/oath/hotp.py
+++ b/cryptography/hazmat/oath/hotp.py
@@ -25,8 +25,8 @@
         if len(key) < 16:
             raise ValueError("Key length has to be at least 128 bits.")
 
-        if length < 6:
-            raise ValueError("Length of HOTP has to be at least 6.")
+        if length < 6 or length > 8:
+            raise ValueError("Length of HOTP has to be between 6 to 8.")
 
         self._key = key
         self._length = length
diff --git a/docs/exceptions.rst b/docs/exceptions.rst
index 1e31e31..8ca9df2 100644
--- a/docs/exceptions.rst
+++ b/docs/exceptions.rst
@@ -36,3 +36,9 @@
 
     This is raised when the verify method of a key derivation function's
     computed key does not match the expected key.
+
+
+.. class:: InvalidToken
+
+    This is raised when the verify method of a one time password function's
+    computed token does not match the expected token.
diff --git a/docs/hazmat/oath/hotp.rst b/docs/hazmat/oath.rst
similarity index 76%
rename from docs/hazmat/oath/hotp.rst
rename to docs/hazmat/oath.rst
index 7aff330..b936f0e 100644
--- a/docs/hazmat/oath/hotp.rst
+++ b/docs/hazmat/oath.rst
@@ -1,19 +1,25 @@
 .. hazmat::
 
-HMAC-Based One-Time Password Algorithm
-======================================
+OATH
+====
+
+.. currentmodule:: cryptography.hazmat.oath
+
+This module contains algorithms under the umbrella of the
+Initiative for Open Authentication (OATH).
+
+Currently, it contains an algorithm for generating and verifying
+one time password values based on Hash-based message authentication
+codes (HMAC).
 
 .. currentmodule:: cryptography.hazmat.oath.hotp
 
-This module contains functions for generating and verifying one time password
-values based on Hash-based message authentication codes (HMAC).
-
 .. class:: HOTP(key, length, backend)
 
     HOTP objects take a ``key`` and ``length`` parameter. The ``key``
     should be randomly generated bytes and is recommended to be 160 bits in
     length. The ``length`` parameter controls the length of the generated
-    one time password and must be >= 6.
+    one time password and must be >= 6 and <= 8.
 
     This is an implementation of :rfc:`4226`.
 
@@ -36,8 +42,8 @@
     :param backend: A
         :class:`~cryptography.hazmat.backends.interfaces.HMACBackend`
         provider.
-    :raises ValueError: This is raised if the provided ``key`` or ``length``
-                        parameters are shorter than required.
+    :raises ValueError: This is raised if the provided ``key`` is shorter 128 bits
+                        or if the ``length`` parameter is not between 6 to 8.
 
 
     .. method:: generate(counter)
diff --git a/docs/index.rst b/docs/index.rst
index 7d6e618..40c418b 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -75,7 +75,7 @@
     hazmat/primitives/index
     hazmat/backends/index
     hazmat/bindings/index
-    hazmat/oath/hotp
+    hazmat/oath
 
 The ``cryptography`` open source project
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/tests/hazmat/oath/test_hotp.py b/tests/hazmat/oath/test_hotp.py
index 4729265..7b1db93 100644
--- a/tests/hazmat/oath/test_hotp.py
+++ b/tests/hazmat/oath/test_hotp.py
@@ -35,15 +35,13 @@
         secret = os.urandom(10)
 
         with pytest.raises(ValueError):
-            hotp = HOTP(secret, 6, backend)
-            hotp.generate(0)
+            HOTP(secret, 6, backend)
 
     def test_invalid_hotp_length(self, backend):
         secret = os.urandom(16)
 
         with pytest.raises(ValueError):
-            hotp = HOTP(secret, 4, backend)
-            hotp.generate(0)
+            HOTP(secret, 4, backend)
 
     @pytest.mark.parametrize("params", vectors)
     def test_truncate(self, backend, params):
