Upload through the API.