I figured out why my javascript wasn't working. The geoprocessor I set up doesn't include the tool name at the end of the URL, which is why it was invalid. Here's what that line should be:

    gp = new Geoprocessor("https://URL/servername/rest/services/Web_Map_GP_Services/ZipTest/GPServer/ZipTest");

To run from Rest API, I first had to go through the "Upload" task to create an item ID:
[![enter image description here][1]][1]
[![enter image description here][2]][2]

Next, I had to go to the task and submit a job with the URL generated with that item ID:
[![enter image description here][3]][3]

This resulted in success!


  [1]: https://i.sstatic.net/XfXxl.jpg
  [2]: https://i.sstatic.net/d14Ny.jpg
  [3]: https://i.sstatic.net/Bl7CY.jpg