diff --git a/doc/rapi.rst b/doc/rapi.rst
index 92c923a9277f8592937510927d78d4abba7ff8dd..125221904595ad12663b694fa832c904a7c668c1 100644
--- a/doc/rapi.rst
+++ b/doc/rapi.rst
@@ -283,6 +283,20 @@ Deletes an instance.
 It supports the ``dry-run`` argument.
 
 
+``/2/instances/[instance_name]/info``
++++++++++++++++++++++++++++++++++++++++
+
+It supports the following commands: ``GET``.
+
+``GET``
+~~~~~~~
+
+Requests detailed information about the instance. An optional parameter,
+``static`` (bool), can be set to return only static information from the
+configuration without querying the instance's nodes. The result will be a job
+id.
+
+
 ``/2/instances/[instance_name]/reboot``
 +++++++++++++++++++++++++++++++++++++++
 
diff --git a/lib/rapi/connector.py b/lib/rapi/connector.py
index 96d616e17454dd89909b17c913b826c7827bfbd1..168d960676857beb2acc601916ac83fb0aef5c2a 100644
--- a/lib/rapi/connector.py
+++ b/lib/rapi/connector.py
@@ -167,6 +167,8 @@ CONNECTOR.update({
       rlib2.R_2_nodes_name_storage_repair,
   "/2/instances": rlib2.R_2_instances,
   re.compile(r'^/2/instances/([\w\._-]+)$'): rlib2.R_2_instances_name,
+  re.compile(r'^/2/instances/([\w\._-]+)/info$'):
+      rlib2.R_2_instances_name_info,
   re.compile(r'^/2/instances/([\w\._-]+)/tags$'): rlib2.R_2_instances_name_tags,
   re.compile(r'^/2/instances/([\w\._-]+)/reboot$'):
       rlib2.R_2_instances_name_reboot,
diff --git a/lib/rapi/rlib2.py b/lib/rapi/rlib2.py
index 72937c3b579fb014acd3b8799ea4dea197b6284a..3c6f227299d3724c0e4a5ce8a35bad7cfc76eb10 100644
--- a/lib/rapi/rlib2.py
+++ b/lib/rapi/rlib2.py
@@ -481,6 +481,22 @@ class R_2_instances_name(baserlib.R_Generic):
     return baserlib.SubmitJob([op])
 
 
+class R_2_instances_name_info(baserlib.R_Generic):
+  """/2/instances/[instance_name]/info resource.
+
+  """
+  def GET(self):
+    """Request detailed instance information.
+
+    """
+    instance_name = self.items[0]
+    static = bool(self._checkIntVariable("static", default=0))
+
+    op = opcodes.OpQueryInstanceData(instances=[instance_name],
+                                     static=static)
+    return baserlib.SubmitJob([op])
+
+
 class R_2_instances_name_reboot(baserlib.R_Generic):
   """/2/instances/[instance_name]/reboot resource.