diff --git a/doc/source/conf.py b/doc/source/conf.py
index 355645454..61e9a99a3 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -10,7 +10,7 @@ extensions = ['sphinxcontrib.apidoc',
 
 # sphinxcontrib.apidoc options
 apidoc_module_dir = '../../ironicclient'
-apidoc_output_dir = 'api'
+apidoc_output_dir = 'reference/api'
 apidoc_excluded_paths = [
     'tests/functional/*',
     'tests']
diff --git a/doc/source/index.rst b/doc/source/index.rst
index 86473136a..cc14818ea 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -18,6 +18,7 @@ Contents
    cli/index
    user/create_command
    contributor/index
+   reference/index
    Release Notes <https://docs.openstack.org/releasenotes/python-ironicclient/>
 
 Indices and tables
diff --git a/doc/source/reference/index.rst b/doc/source/reference/index.rst
new file mode 100644
index 000000000..87dea8a7c
--- /dev/null
+++ b/doc/source/reference/index.rst
@@ -0,0 +1,8 @@
+=======================================
+Full Ironic Client Python API Reference
+=======================================
+
+.. toctree::
+  :maxdepth: 1
+
+  api/modules