Creating an Estimate using PHP/cURL problem

Creating an Estimate using PHP/cURL problem

Hi, I've trying to debug a problem adding an estimate. My PHP is below, I've reformatted it a bit to make it simpler to read, the code is only a proof of concept. This generates a HTTP 400 response indicating a bad request or bad ID.
It's based on this: https://www.zoho.com/invoice/api/v3/#Estimates_Create_an_Estimate
Any help would be appreciated!
Thanks,
Niall

$access_token = MYACCESSTOKEN;
$organisation_id = MYORGID;

$estimate_request = [
    "customer_id" => 4780638000000343007,
    "estimate_number" => "EST-00002",
    "reference_number" => "TEST-12346",
    "date" => "2021-04-13"
];

$data = 'JSONString="' . json_encode( $estimate_request ) . '"';

$headers = array('Authorization: Zoho-oauthtoken ' . $access_token,
'X-com-zoho-invoice-organizationid: ' . $organisation_id,
'Content-type: multipart/form-data');

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://invoice.zoho.com/api/v3/estimates");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$result = curl_exec($ch);