diff --git a/bin/dm-get-daq-info b/bin/dm-get-daq-info
new file mode 100755
index 0000000000000000000000000000000000000000..322caa3b7fbf2a735f91cc95dc30952192a1b808
--- /dev/null
+++ b/bin/dm-get-daq-info
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# Run command
+
+if [ -z $DM_ROOT_DIR ]; then
+    cd `dirname $0` && myDir=`pwd`
+    setupFile=$myDir/../setup.sh
+    if [ ! -f $setupFile ]; then
+        echo "Cannot find setup file: $setupFile"
+        exit 1
+    fi
+    source $setupFile > /dev/null
+fi
+
+$DM_ROOT_DIR/src/python/dm/daq_web_service/cli/getDaqInfoCli.py $@
+
+
diff --git a/src/python/dm/daq_web_service/cli/getDaqInfoCli.py b/src/python/dm/daq_web_service/cli/getDaqInfoCli.py
new file mode 100755
index 0000000000000000000000000000000000000000..4361c6d2d1b14bea25400fb7baf9b318dfdbb119
--- /dev/null
+++ b/src/python/dm/daq_web_service/cli/getDaqInfoCli.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+
+from daqWebServiceSessionCli import DaqWebServiceSessionCli
+from dm.daq_web_service.api.experimentRestApi import ExperimentRestApi
+from dm.common.exceptions.invalidRequest import InvalidRequest
+
+class GetDaqInfoCli(DaqWebServiceSessionCli):
+    def __init__(self):
+        DaqWebServiceSessionCli.__init__(self, validArgCount=self.ANY_NUMBER_OF_POSITIONAL_ARGS)
+        self.addOption('', '--id', dest='id', help='Daq id.')
+
+    def checkArgs(self):
+        if self.options.id is None:
+            raise InvalidRequest('Daq id must be provided.')
+
+    def getId(self):
+        return self.options.id
+
+    def runCommand(self):
+        self.parseArgs(usage="""
+    dm-get-daq-info --id=ID
+
+Description:
+    Retrieves detailed information for the specified data acquisition.
+        """)
+        self.checkArgs()
+        api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol())
+        daqInfo = api.getDaqInfo(self.getId())
+        print daqInfo.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())
+
+#######################################################################
+# Run command.
+if __name__ == '__main__':
+    cli = GetDaqInfoCli()
+    cli.run()
+
diff --git a/src/python/dm/daq_web_service/cli/getUploadInfoCli.py b/src/python/dm/daq_web_service/cli/getUploadInfoCli.py
index 6900caba25560303af3b506872013817d74cec57..ca3a4a294e973cea9c1d26faac19d84c6638093d 100755
--- a/src/python/dm/daq_web_service/cli/getUploadInfoCli.py
+++ b/src/python/dm/daq_web_service/cli/getUploadInfoCli.py
@@ -18,10 +18,10 @@ class GetUploadInfoCli(DaqWebServiceSessionCli):
 
     def runCommand(self):
         self.parseArgs(usage="""
-    dm-get-upload-status --id=ID
+    dm-get-upload-info --id=ID
 
 Description:
-    Retrieves detailed information for a given data upload.
+    Retrieves detailed information for the specified data upload id.
         """)
         self.checkArgs()
         api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol())
diff --git a/src/python/dm/daq_web_service/cli/startDaqCli.py b/src/python/dm/daq_web_service/cli/startDaqCli.py
index a88cca0f4f2ccba7c4d22e7dd17bdc4ca86a4808..aac21b57b5bf0eb80271612c4e44d732bd783650 100755
--- a/src/python/dm/daq_web_service/cli/startDaqCli.py
+++ b/src/python/dm/daq_web_service/cli/startDaqCli.py
@@ -35,8 +35,8 @@ Description:
         self.checkArgs()
         api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol())
         daqInfo = self.splitArgsIntoDict()
-        experiment = api.startDaq(self.getExperimentName(), self.getDataDirectory(), daqInfo=daqInfo)
-        print experiment.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())
+        daqInfo = api.startDaq(self.getExperimentName(), self.getDataDirectory(), daqInfo=daqInfo)
+        print daqInfo.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())
 
 #######################################################################
 # Run command.
diff --git a/src/python/dm/daq_web_service/cli/stopDaqCli.py b/src/python/dm/daq_web_service/cli/stopDaqCli.py
index 892b2d78789d7897a2be779dd2b95ef2cad5a75f..6310a316fb070652d474ae98ea29e3f4417fc630 100755
--- a/src/python/dm/daq_web_service/cli/stopDaqCli.py
+++ b/src/python/dm/daq_web_service/cli/stopDaqCli.py
@@ -8,25 +8,31 @@ class StopDaqCli(DaqWebServiceSessionCli):
     def __init__(self):
         DaqWebServiceSessionCli.__init__(self)
         self.addOption('', '--experiment', dest='experimentName', help='Experiment name.')
+        self.addOption('', '--data-directory', dest='dataDirectory', help='Experiment data directory.')
 
     def checkArgs(self):
         if self.options.experimentName is None:
             raise InvalidRequest('Experiment name must be provided.')
+        if self.options.dataDirectory is None:
+            raise InvalidRequest('Experiment data directory must be provided.')
 
     def getExperimentName(self):
         return self.options.experimentName
 
+    def getDataDirectory(self):
+        return self.options.dataDirectory
+
     def runCommand(self):
         self.parseArgs(usage="""
-    dm-stop-daq --experiment=EXPERIMENTNAME
+    dm-stop-daq --experiment=EXPERIMENTNAME --data-directory=DATADIRECTORY
 
 Description:
-    Stop DAQ for a given experiment. 
+    Stop DAQ for a given experiment and data directory.
         """)
         self.checkArgs()
         api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol())
-        experiment = api.stopDaq(self.getExperimentName())
-        print experiment.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())
+        daqInfo = api.stopDaq(self.getExperimentName(), self.getDataDirectory())
+        print daqInfo.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())
 
 #######################################################################
 # Run command.
diff --git a/src/python/dm/daq_web_service/cli/uploadCli.py b/src/python/dm/daq_web_service/cli/uploadCli.py
index dca194506c5ab77f14b4bbb71cb4961fe19ae1b5..0b62bb03c14730f8dcd42b8ae28bb1ee686f5958 100755
--- a/src/python/dm/daq_web_service/cli/uploadCli.py
+++ b/src/python/dm/daq_web_service/cli/uploadCli.py
@@ -36,8 +36,8 @@ Description:
         self.checkArgs()
         api = ExperimentRestApi(self.getLoginUsername(), self.getLoginPassword(), self.getServiceHost(), self.getServicePort(), self.getServiceProtocol())
         daqInfo = self.splitArgsIntoDict()
-        experiment = api.upload(self.getExperimentName(), self.getDataDirectory(), daqInfo=daqInfo)
-        print experiment.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())
+        uploadInfo = api.upload(self.getExperimentName(), self.getDataDirectory(), daqInfo=daqInfo)
+        print uploadInfo.getDisplayString(self.getDisplayKeys(), self.getDisplayFormat())
 
 #######################################################################
 # Run command.