Zoho CRM Insert Record using JSON / Coldfusion

Zoho CRM Insert Record using JSON / Coldfusion

Having eventually figured out the Zoho OAuth authentication, I'm now faced with trying to debug their error codes when attempting to insert a new record. olansi air purifier

  1. <cfsavecontent variable="JSONData">
    {
      "data": { 
        "Last_Name": "Smith",
    "First_Name": "John",
        "Email": "john@smith.com",
        "Phone": "0123456789",
        "Lead_Source": "PPC",
    "Build_Cost_text": "50",
    "Estimated_Sales_Value": "100",
    "Stage_of_Build_Work": "Not Started",
    "Work_Starting_Date_text": "01/06/2021",
    "Number_of_Units": "1",
    "Address_of_Development": "123 Any Street",
    "Gross_floor_area_m2": "100",
    "Development_Use": "Self Build",
    "Please_share_any_additional_information": "Just testing stuff",
        "Company": "Smith Widgets"
          }
      }
    </cfsavecontent>
    
    
    <cfhttp method="POST" url="https://www.zohoapis.com/crm/v2/Leads" result="zohopostresult">
    <cfhttpparam type="header" name="Authorization" value="Zoho-oauthtoken #gettoken.access_token#">
    <cfhttpparam type="header" name="content-type" value="application/json" />
    <cfhttpparam type="body" value="#JSONData#" />
    </cfhttp>

The error returned using the above code is;


  1. {"code":"INVALID_DATA","details":{"expected_data_type":"jsonarray","api_name":"data"},"message":"invalid data","status":"error"}

If I use cfdump / deserializeJSon to review the 'JSONData' variable, it outputs just fine. I've been looking at this all day, so I might well be missing something that's staring me in the face.