diff --git a/.gitignore b/.gitignore
index 1399c98..cc4c84e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,6 +41,7 @@ output/*/index.html
 
 # Sphinx
 doc/build
+/doc/source/api/
 
 # pbr generates these
 AUTHORS
@@ -48,4 +49,4 @@ ChangeLog
 
 # Editors
 *~
-.*.swp
\ No newline at end of file
+.*.swp
diff --git a/doc/source/api.rst b/doc/source/api.rst
deleted file mode 100644
index fbd3965..0000000
--- a/doc/source/api.rst
+++ /dev/null
@@ -1,51 +0,0 @@
-=====
- API
-=====
-
-oslotest.base
-=============
-
-.. automodule:: oslotest.base
-
-.. autoclass:: oslotest.base.BaseTestCase
-   :members:
-
-oslotest.createfile
-===================
-
-.. automodule:: oslotest.createfile
-   :members:
-   :special-members:
-
-oslotest.log
-============
-
-.. automodule:: oslotest.log
-   :members:
-   :special-members:
-
-oslotest.mockpatch
-==================
-
-.. automodule:: oslotest.mockpatch
-   :members:
-   :special-members:
-
-oslotest.moxstubout
-===================
-
-.. automodule:: oslotest.moxstubout
-   :members:
-
-oslotest.output
-===================
-
-.. automodule:: oslotest.output
-   :members:
-
-oslotest.timeout
-================
-
-.. automodule:: oslotest.timeout
-   :members:
-   :special-members:
diff --git a/doc/source/conf.py b/doc/source/conf.py
index bb2e39d..090e478 100755
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -29,6 +29,7 @@ extensions = [
 # autodoc generation is a bit aggressive and a nuisance when doing heavy
 # text edit cycles.
 # execute "export SPHINX_DEBUG=1" in your terminal to disable
+modindex_common_prefix = ['oslotest.']
 
 # The suffix of source filenames.
 source_suffix = '.rst'
diff --git a/doc/source/index.rst b/doc/source/index.rst
index e0089ee..2e91752 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -10,7 +10,6 @@ Contents
    :maxdepth: 2
 
    installation
-   api
    testing
    features
    cross-testing
@@ -18,6 +17,14 @@ Contents
    contributing
    history
 
+API
+===
+
+.. toctree::
+   :maxdepth: 1
+
+   api/autoindex
+
 Indices and tables
 ==================
 
diff --git a/setup.cfg b/setup.cfg
index f6b63fe..85a9d48 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -37,6 +37,7 @@ upload-dir = doc/build/html
 
 [pbr]
 warnerrors = true
+autodoc_index_modules = true
 
 [wheel]
 universal = true