import org.apache.http.client.methods.*; import org.apache.http.client.*; import org.apache.http.impl.client.*; import org.apache.http.*; import org.apache.http.entity.mime.*; import org.apache.http.entity.*; import java.io.*; public class API_H01 { public static void main (String args[]) { try { HttpClient client = HttpClientBuilder.create().build(); File f = new File("/opt/tomcat8/hierarchy.csv"); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); HttpPost rq = new HttpPost("https://host/api/hierarchies/imports"); rq.addHeader("Authorization", "***key***"); //don't need, as the builder call sets the content type and boundary for us //rq.addHeader("Content-Type", "multipart/form-data; charset=ISO-639; boundary=boundary"); builder.addBinaryBody("file", new FileInputStream(f), ContentType.create("text/csv"), f.getName()); rq.setEntity(builder.build()); HttpResponse rsp = client.execute(rq); int rc = rsp.getStatusLine().getStatusCode(); System.out.println("\nResponse Code: " + rsp.getStatusLine().getStatusCode() + "\n"); BufferedReader rd = new BufferedReader(new InputStreamReader(rsp.getEntity().getContent())); String line = ""; while ((line = rd.readLine()) != null) { System.out.println(line); } } catch (Exception e) { System.out.println(e.getMessage()); } } }