# Chapter 1.4 - Demo Application

Source: https://developer.avalara.com/products/communications/integration-guides/dev-guide_rest_v2/getting-started/demo-app/

-   [Previous](/communications/dev-guide_rest_v2/getting-started/environments-endpoints/)
-   [Next](/communications/dev-guide_rest_v2/getting-started/best-practices/)

Use the C# [Communications REST v2 Demo Application](https://github.com/Avalara/Communications-Developer-Content/tree/master/afc_saaspro_tax/afc_rest_apis/AfcRestDemoApp) to see how to integrate with and call the [`CalcTaxes`](/communications/dev-guide_rest_v2/calculate-taxes/) and [Geo Batch](/communications/dev-guide_rest_v2/customizing-transactions/sample-transactions/geo-batch/) REST v2 APIs.

### Download the Demo Application

1.  Navigate to the [Avalara/Communications-Developer-Content](https://github.com/Avalara/Communications-Developer-Content) repo on [GitHub](https://github.com/)
2.  Clone the master branch of the Avalara/Communications-Developer-Content repository locally
3.  To run the application:
    1.  Navigate to .\\afc\_saaspro\_tax\\afc\_rest\_apis\\AfcRestDemoApp in the local repository
    2.  Launch **RestDemoApplication.exe**
4.  To view the source code and build the application:
    1.  Navigate to .\\afc\_saaspro\_tax\\afc\_rest\_apis\\AfcRestDemoSource in the local repository
    2.  Open **RestDemoApplication.sln** in Microsoft Visual Studio

### Run a Sample Transaction

1.  Enter your REST v2 Username, Password, and Client ID
2.  In **Profile ID**, enter:

-   `client_profile_id` to use an existing client profile (if applicable)
-   `0` to use the default profile

4.  Modify the **Request** or simply use the transaction provided

-   See [Customizing Transactions](https://developer.avalara.com/communications/dev-guide_rest_v2/customizing-transactions/) for sample transactions

6.  Click **Process** to run the transaction

![](/public/images/comms/dev-guide_rest_v2/rest_demo_app_sample_request.png)

### Run a Performance Test

1.  Navigate to the **Performance** tab
2.  Set **Max Threads** and **Max Run Time**
3.  Click **Start** to start a performance test

The results of the test are displayed within the **Performance** tab.

![](/public/images/comms/dev-guide_rest_v2/rest_demo_app_performance.png)

### Run Geo Batch

Use the Geo Batch tab to upload an address or latitude/longitude CSV file and see the results.

-   **Upload Request File** - upload a CSV input file
-   **Get File Status** - Get the input and output file links
    -   **Download Input File** - Download the request file
    -   **Download Output File** - Download the results file
-   **Get File Logs** - See the status details of the request

For more information about Geo Batch, see [Geo Batch](/communications/dev-guide_rest_v2/customizing-transactions/sample-transactions/geo-batch/).

The results of the Geo Batch test are displayed within the **Geo Batch**tab.

![](/public/images/comms/dev-guide_rest_v2/rest_demo_app_geo_batch.png)

-   [Previous](/communications/dev-guide_rest_v2/getting-started/environments-endpoints/)
-   [Next](/communications/dev-guide_rest_v2/getting-started/best-practices/)