UnityWebRequest isn't reliable

SendTelemetry("BattleGroundTimed_Requested");

using (UnityWebRequest webRequest = UnityWebRequest.Post(Config.BattleGroundTimed_MasterServerStartPortURL, JsonUtility.ToJson(new RoomRequestBG(mapId)).ToString(), "application/json"))
{
    // Send the request and wait for the response
    webRequest.timeout = 5; // Set timeout to 10 seconds
    SendTelemetry("BattleGroundTimed_Requested_API");
    yield return webRequest.SendWebRequest();

    // Check for errors
    if (webRequest.result != UnityWebRequest.Result.Success)
    {
        DialogManager.Instance.HideAllPopups();
        DialogManager.Instance.ShowAlert("Server Error");
        yield break;
    }
    else
    {
        // Parse the JSON response
        string jsonResponse = webRequest.downloadHandler.text;
        MasterServerResponseBG serverResponse = JsonUtility.FromJson<MasterServerResponseBG>(jsonResponse);

        if (serverResponse.status == "falied" || serverResponse.roomId == "0")
        {
            DialogManager.Instance.HideAllPopups();
            DialogManager.Instance.ShowAlert("Invalid Code");
            yield break;
        }
        else if (serverResponse.roomId == "-1")
        {
            DialogManager.Instance.HideAllPopups();
            DialogManager.Instance.ShowAlert("Update Your Game");
            yield break;
        }
        networkAddress = serverResponse.vmIp;
        resumeCode = serverResponse.roomId;
        // temp
        Debug.Log("Server IP: " + jsonResponse);
        serverResponse.arena = mapId.ToString();
        jsonResponse = JsonUtility.ToJson(serverResponse);

Can anyone help me figure out why the Using line donest work on all android devices … here I get logs of first telemetry everytime but the second telemetry doesnt log on all devices which means theres an error in between them which i am unable to figure out

spelling?

See, I didn’t notice this until a scrolled all far to the right. Method chaining parameters is never a good idea, especially if any of these calls may fail.

Put them on separate lines, assign to variables, pass the variables to the method. And Debug.Log each param. Perhaps this ToJson call fails.