Download Java Sample Code and Create Your Java App {#batch-uploading-rest-api-get-java-sdk}
===========================================================================================

The Cybersource Java client SDK enables your Java application to access to the REST API that is available through the Cybersource platform. Cybersource maintains a repository of Java sample code for all common uses of the API. To get started with the Java client SDK, download Java sample code and use it as the basis for writing your own Java code to encrypt and upload batch files to `Cybersource`.  
The Cybersource Java client SDK is available at GitHub and Maven publicly hosted sites:

* On GitHub: <https://github.com/CyberSource/cybersource-rest-client-java>
* On Maven: <https://mvnrepository.com/artifact/com.cybersource/cybersource-rest-client-java>

> IMPORTANT The content in this topic refers to the Java client SDK that is available on GitHub.

1. To download and get started with the Java client SDK from GitHub:

2. Go the [Java Client SDK for the CyberSource REST API](https://github.com/CyberSource/cybersource-rest-client-java "") on GitHub.

3. Follow the instructions in the Readme. The instructions include these key steps:

   #### ADDITIONAL INFORMATION

   1. Install the Java client SDK.
   2. Create a sandbox account.
   3. Configure the SDK by inputting your credentials.
4. Download the sample code from [Cybersource Java Sample Code Repository (on GitHub)](https://github.com/CyberSource/cybersource-rest-samples-java/tree/master/src/main/java/samples/BatchUploadAPI "").

   #### ADDITIONAL INFORMATION

   The repository contains comprehensive sample code for all common uses of the API:

   * **BatchUploadMTLSwithJKS.java**---Java sample code that uses the Java KeyStore (JKS)
   * **BatchUploadMTLSwithKeys.java**---Java sample code that uses the PGP public key and the client private key
   * **BatchUploadMTLSwithP12.java**---Java sample code that uses .p12 certificates
5. Execute the code sample of your choice, modifying as needed until you obtain a successful response.

   #### ADDITIONAL INFORMATION

   > IMPORTANT
   > You must edit certain commands, replacing placeholders with values for your own environment. Each placeholder is described by an inline comment above the command.

   #### ADDITIONAL INFORMATION

