@danieln Figured it out. Posting the answer here for posterity. This is the request that worked:
Request: PUT http://10.15.0.2/fog/host/7700
JSON body:
{
"snapins": 1
}
it was "snapins" that I had to pass into the JSON body. I found this by just running a general GET request for snapins GET http://10.15.0.2/fog/snapin (another total guess that ended up being correct) and in the JSON body response it returned "snapins" with an array of objects, so I just passed that into the PUT request body and it worked. The Snapins are literally numbered in the order in which you create them and you can reference them here to assign them.
Hope this is helpful to any future person who tries to do this! 🙂