import scalaj.http._
val hkey = Base64.getEncoder.encodeToString(key.getBytes(StandardCharsets.UTF_8)) val value = Base64.getEncoder.encodeToString(rawValue.getBytes(StandardCharsets.UTF_8)) val data = "{\"Row\":[{\"key\":\" " + hkey + " \", \"Cell\":[{\"column\":\"Y2Y6Y29sMw==\", \"$\":\" " + value + " \"}]}]}" Http("http://bigdata33.webmedia.int:8080/deepscan_data_1_1/" + key + "/cf:content").postData(data).header("content-type", "application/json").asString In case you need PUT instead of POST: Http("http://bigdata41.webmedia.int:9090/nifi-api/processors/10001184-103f-112d-799b-662b43e70ced").postData(data).header("content-type", "application/json").method("put").asString