private String restPut(String restRequest, String[] pName, String[] pValue) {
		String result = "";
		String value = "";
		if (pName != null && pValue != null && ! pName[0].isEmpty()) {
			for (int i=0; i < pName.length; i++) {
				value += "&" + pName[i] + "=" + pValue[i];
			}
			value = value.substring(1);
		}
		try {
			// set up authorization
			String reqString = "" + m_apiHost + "/" + restRequest;
			String rfcdate = setDate();
			String sb = this.setAuth(restRequest, rfcdate);
			// set up connection
			URL postURL = new URL(reqString);
			HttpURLConnection apiConn = (HttpURLConnection) postURL.openConnection();
			setUpConn(apiConn, sb, rfcdate, value, "PUT");
			// get output
			BufferedReader in = new BufferedReader(new InputStreamReader(apiConn.getInputStream()));
			String tmp;
			while ((tmp = in.readLine()) != null) {
				result += tmp + "\n";
			}
			in.close();
			// run buffer
			runBuffer();
			if (apiConn.getResponseCode() != 200) {
				throw new RuntimeException("Failed : HTTP error : "
						+ apiConn.getResponseMessage() + ": returned data: " + result);
			}
		} catch (Exception e) {
			pushFailedApi("restPut", restRequest, pName, pValue);
			return null;
		}
		return result;
	}