diff --git a/plugins/samplesink/soapysdroutput/soapysdroutput.cpp b/plugins/samplesink/soapysdroutput/soapysdroutput.cpp
index 20cb58ac7..447b3e7e5 100644
--- a/plugins/samplesink/soapysdroutput/soapysdroutput.cpp
+++ b/plugins/samplesink/soapysdroutput/soapysdroutput.cpp
@@ -1614,4 +1614,26 @@ void SoapySDROutput::webapiFormatArgInfo(const SoapySDR::ArgInfo& arg, SWGSDRang
     }
 
     argInfo->setValueString(new QString(arg.value.c_str()));
+    argInfo->setName(new QString(arg.name.c_str()));
+    argInfo->setDescription(new QString(arg.description.c_str()));
+    argInfo->setUnits(new QString(arg.units.c_str()));
+
+    if ((arg.range.minimum() != 0.0) || (arg.range.maximum() != 0.0))
+    {
+        argInfo->setRange(new SWGSDRangel::SWGRangeFloat());
+        argInfo->getRange()->setMin(arg.range.minimum());
+        argInfo->getRange()->setMax(arg.range.maximum());
+    }
+
+    argInfo->setValueOptions(new QList<QString*>);
+
+    for (const auto itOpt : arg.options) {
+        argInfo->getValueOptions()->append(new QString(itOpt.c_str()));
+    }
+
+    argInfo->setOptionNames(new QList<QString*>);
+
+    for (const auto itOpt : arg.optionNames) {
+        argInfo->getOptionNames()->append(new QString(itOpt.c_str()));
+    }
 }
diff --git a/plugins/samplesource/soapysdrinput/soapysdrinput.cpp b/plugins/samplesource/soapysdrinput/soapysdrinput.cpp
index c5c9421d2..a0ba0989f 100644
--- a/plugins/samplesource/soapysdrinput/soapysdrinput.cpp
+++ b/plugins/samplesource/soapysdrinput/soapysdrinput.cpp
@@ -1468,7 +1468,7 @@ void SoapySDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& r
     for (const auto itName : settings.m_tunableElements.keys())
     {
         response.getSoapySdrInputSettings()->getTunableElements()->append(new SWGSDRangel::SWGArgValue);
-        response.getSoapySdrInputSettings()->getTunableElements()->back()->setKey(new QString(  itName));
+        response.getSoapySdrInputSettings()->getTunableElements()->back()->setKey(new QString(itName));
         double value = settings.m_tunableElements.value(itName);
         response.getSoapySdrInputSettings()->getTunableElements()->back()->setValueString(new QString(tr("%1").arg(value)));
         response.getSoapySdrInputSettings()->getTunableElements()->back()->setValueType(new QString("float"));
@@ -1547,7 +1547,7 @@ void SoapySDRInput::webapiFormatDeviceReport(SWGSDRangel::SWGDeviceReport& respo
 
     for (const auto itArg : m_deviceShared.m_deviceParams->getDeviceArgs())
     {
-        response.getSoapySdrInputReport()->getDeviceSettingsArgs()->append(new SWGSDRangel::SWGArgInfo);
+        response.getSoapySdrInputReport()->getDeviceSettingsArgs()->append(new SWGSDRangel::SWGArgInfo());
         webapiFormatArgInfo(itArg, response.getSoapySdrInputReport()->getDeviceSettingsArgs()->back());
     }
 
@@ -1555,7 +1555,7 @@ void SoapySDRInput::webapiFormatDeviceReport(SWGSDRangel::SWGDeviceReport& respo
 
     for (const auto itArg : channelSettings->m_streamSettingsArgs)
     {
-        response.getSoapySdrInputReport()->getStreamSettingsArgs()->append(new SWGSDRangel::SWGArgInfo);
+        response.getSoapySdrInputReport()->getStreamSettingsArgs()->append(new SWGSDRangel::SWGArgInfo());
         webapiFormatArgInfo(itArg, response.getSoapySdrInputReport()->getStreamSettingsArgs()->back());
     }
 
@@ -1563,7 +1563,7 @@ void SoapySDRInput::webapiFormatDeviceReport(SWGSDRangel::SWGDeviceReport& respo
 
     for (const auto itArg : channelSettings->m_frequencySettingsArgs)
     {
-        response.getSoapySdrInputReport()->getFrequencySettingsArgs()->append(new SWGSDRangel::SWGArgInfo);
+        response.getSoapySdrInputReport()->getFrequencySettingsArgs()->append(new SWGSDRangel::SWGArgInfo());
         webapiFormatArgInfo(itArg, response.getSoapySdrInputReport()->getFrequencySettingsArgs()->back());
     }
 
@@ -1687,4 +1687,26 @@ void SoapySDRInput::webapiFormatArgInfo(const SoapySDR::ArgInfo& arg, SWGSDRange
     }
 
     argInfo->setValueString(new QString(arg.value.c_str()));
+    argInfo->setName(new QString(arg.name.c_str()));
+    argInfo->setDescription(new QString(arg.description.c_str()));
+    argInfo->setUnits(new QString(arg.units.c_str()));
+
+    if ((arg.range.minimum() != 0.0) || (arg.range.maximum() != 0.0))
+    {
+        argInfo->setRange(new SWGSDRangel::SWGRangeFloat());
+        argInfo->getRange()->setMin(arg.range.minimum());
+        argInfo->getRange()->setMax(arg.range.maximum());
+    }
+
+    argInfo->setValueOptions(new QList<QString*>);
+
+    for (const auto itOpt : arg.options) {
+        argInfo->getValueOptions()->append(new QString(itOpt.c_str()));
+    }
+
+    argInfo->setOptionNames(new QList<QString*>);
+
+    for (const auto itOpt : arg.optionNames) {
+        argInfo->getOptionNames()->append(new QString(itOpt.c_str()));
+    }
 }