This should’ve been more obvious to me but it did take a few minutes of playing around and reading the manual to get this right. I wanted to post data to a api using curl and one of the items was a file upload and another was a simple field/value.
To upload a file via curl:
curl -X POST -F "email@example.com" http://api.example.com/profile
In php this will give you the profile.jpg in the $_FILES[‘image’], now to add additional field values you just add additional -F arguments like this:
curl -X POST -F "firstname.lastname@example.org" -F "phone=1234567890" http://api.example.com/profile