What do you mean by rate-limiting enabled from your Cloudflare Dashboard? Can you please elaborate?
Here is my API request written in PHP
$apiUrl = "https://api.cloudflare.com/client/v4/zones/" . $zoneId . "/rate_limits";
$headers = [
"X-Auth-Key:" . $this->cloudflareAuthKey,
"X-Auth-Email:" . $this->cloudflareEmail,
"Content-Type: application/json",
"Accept: application/json"
];
$action = new \stdClass;
$action->mode = "ban";
$action->timeout = "86400";
$match = new \stdClass;
$match->request = new \stdClass;
$match->request->url = "*/wlwmanifest*";
$data = [
"match" => $match,
"threshold" => 10,
"period" => 2,
"action" => $action,
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$httpResponse = curl_exec($ch);
return json_decode($httpResponse);