Cannot get uploadFile to Work

Cannot get uploadFile to Work

I am having a couple of difficulties. I cannot get uploadFile to work when all other API methods appear to be functional, and I API calls to the Documents module do not seem to function.

With the first problem here is a report from my attempt to upload a file:
    Curl::post 
    Params: Array(
        [content] => @/tmp/b2d-JbJvMY;filename=b2d-JbJvMY;type=application/pdf
        [id] => MY_ACCOUNT_ID
    )

For content I have tried just using the file path, changing the directory separator. The only time i get a response is when I remove the @ for filename from the content. 

The relevant excerpts from my PHP classes are as follows:

   class Curl {
    ...
    protected static function post($url, $params) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER,0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        $data = curl_exec($ch);
        curl_close($ch);
        return $data;
    }
    ...
    }

    
    class ZohoAPI extends Curl {
    ....
    protected function apiPost($url, $params) {
        $url .= "?authtoken={$this->token}&scope={$this->scope}";
        $apiParams = empty($params) ? '' : $params;
        return $this->post($url, $apiParams);
    }
    ...
    public function uploadFile($module='Accounts', $zohoId = '', $file ) {
        $url = "{$this->apiUrl}/{$this->mode}/{$module}/uploadFile";
        $params = array(
            'content' => curl_file_create($file, 'application/pdf' , basename( $file)),
            'id' => $zohoId
        );
        
        return $this->apiPost($url, $params);
    }
    ...
    }

My second question is whether the API should work on the Documents section, and how can you upload a file to the documents folders through API or https calls