My POST request is failing with a 'Request with GET/HEAD method cannot have body' error

My POST request is failing with a 'Request with GET/HEAD method cannot have body' error

I am trying to use Zoho Creator's ADD RECORDS DATA API (https://www.zoho.com/creator/help/api/v2/add-records.html)

And here's the URL to help you understand my issue. The URL below will show you a JSON of all the variables involved before I run the POST method.

https://vp-expo-node-server.herokuapp.com/eticket/

This above link will show you the result of this controller


exports.addOneExhibitorToCreator = async function(req, res, next) {
  try {
    const token = await getAccessToken();
    const url = process.env.ZOHO_CREATOR_FORM_URL + "/Add_Organisation";
    // const organisation = req.body;
    const organisation = {
      data: {
        isActive: true,
        Organisation_Name: "Test With Alim",
        Type: "Exhibitor",
        Short_Name: "test",
        Email: "test@fourplusmedia.com",
      },
    };

    const options = {
      Method: "POST",
      Headers: {
        "Content-Type": "application/json",
        Authorization: "Zoho-oauthtoken " + token,
      },
      body: JSON.stringify(organisation),
    };

    const functionForResponse = "const response = await fetch(url, options);";

    // const response = await fetch(url, options);
    // const data = await response.json();

    res.status(200).json({
      status: "success",
      token,
      options,
      url,
      organisation,
      functionForResponse,
    });
  } catch (err) {
    console.log(err);
    res.status(500).json({
      err,
    });
  }
};


When I uncomment these 2 lines in the above controller Website

    const response = await fetch(url, options);
    const data = await response.json();

I get this result

https://vp-expo-node-server.herokuapp.com/eticket/response

As I don't know how to display the error on the browser I tried to console.log it and I got this error in the console

TypeError: Request with GET/HEAD method cannot have body
    at new Request (/Applications/MAMP/htdocs/vp-expo-node-server/node_modules/node-fetch/lib/index.js:1199:10)
    at /Applications/MAMP/htdocs/vp-expo-node-server/node_modules/node-fetch/lib/index.js:1409:19
    at new Promise ()
    at fetch (/Applications/MAMP/htdocs/vp-expo-node-server/node_modules/node-fetch/lib/index.js:1407:9)
    at exports.addOneExhibitorToCreatorResponse (/Applications/MAMP/htdocs/vp-expo-node-server/controllers/eticketController.js:82:28)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

And I can confirm that the this line in the console.log

    at exports.addOneExhibitorToCreatorResponse (/Applications/MAMP/htdocs/vp-expo-node-server/controllers/eticketController.js:82:28)

points to the uncommented lines...

So there's something wrong I am doing in those 2 lines.. but according to me it's the right way to send a POST request.. and I have no clue how a POST request can get a Request with GET/HEAD method cannot have body error.

Any help would be appreciated. I've double checked it and I've even asked Zoho for help (they mentioned as it's a client side thing they couldn't do much to help)