public function exportReports(
        $reportId,
        $format = 'php',
        $rawOrLabel = 'raw',
        $rawOrLabelHeaders = 'raw',
        $exportCheckboxLabel = false
    ) {
        $data = array(
                'token' => $this->apiToken,
                'content' => 'report',
                'returnFormat' => 'json'
        );
        
        #------------------------------------------------
        # Process arguments
        #------------------------------------------------
        $data['report_id'] = $this->processReportIdArgument($reportId);

        $legalFormats = array('csv', 'json', 'php', 'xml');
        $data['format'] = $this->processFormatArgument($format, $legalFormats);

        $data['rawOrLabel']          = $this->processRawOrLabelArgument($rawOrLabel);
        $data['rawOrLabelHeaders']   = $this->processRawOrLabelHeadersArgument($rawOrLabelHeaders);
        $data['exportCheckboxLabel'] = $this->processExportCheckboxLabelArgument($exportCheckboxLabel);
        
        #---------------------------------------------------
        # Get and process records
        #---------------------------------------------------
        $records = $this->connection->callWithArray($data);
        $records = $this->processExportResult($records, $format);
         
        return $records;
    }