I have this api in php that works ok when sending data from an html form.
<?php
include_once 'apiAppMovil.php';
$api = new AppMovil();
$error = '';
if(isset($_POST["nombre"]) && isset($_POST["ape"]) && isset($_POST["email"]) && isset($_POST["pass"])){
    if($api->subirImagen($_FILES['foto'])){
        $item = array(
            "nombre" => $_POST["nombre"],
            "ape" => $_POST["ape"],
            "email" => $_POST["email"],
            "pass" => $_POST["pass"],
            "foto" => $api->getImagen() //Not used
        );
        
        $api->add($item);
    }else{
        $api->error('Error con el archivo: ' . $api->getError());
    }
}
else{
    $api->error('Error al llamar a la API');
}
?>
I want to send data but from c#. My class is the following:
public partial class Root
{
    [JsonProperty("items")]
    public Item[] Items { get; set; }
}
public partial class Item
{/*
    [JsonProperty("id")]
    [JsonConverter(typeof(ParseStringConverter))]
    public long Id { get; set; }*/
    [JsonProperty("nombre")]
    public string Nombre { get; set; }
    [JsonProperty("ape")]
    public string Ape { get; set; }
    [JsonProperty("email")]
    public string Email { get; set; }
    [JsonProperty("pass")]
    public string Pass { get; set; }
    [JsonProperty("foto")] //Not Used
    public string Foto { get; set; }
}
and my method is:
private async Task SignUpApiPost()
    {
        var data = new Item
        {
            Nombre = "Eric",
            Ape = "Pino",
            Pass = "M2022",
            Email = "ericpinodiaz@gmail.com",
            Foto = "default.jpeg" //Not Used
        };
        // Serialize our concrete class into a JSON String
        var json = JsonConvert.SerializeObject(data);
        // Wrap our JSON inside a StringContent which then can be used by the HttpClient class
        var httpContent = new StringContent(json.ToString(), Encoding.UTF8, "application/json");
        var httpClient = new HttpClient();
        // Do the actual request and await the response
        var response = await httpClient.PostAsync("https://app.domainexample.com/rest/add.php", httpContent);
                    
        if (response.StatusCode == System.Net.HttpStatusCode.OK)
        {
             //do thing             
        }
    }
But I can't get the data to arrive, I have the errors "Error al llamar a la API" from Api php. I think the problem is that var data = new Item{ is not declared correctly, can you help me and tell me where I am going wrong?
Thank you.
Edit:
I add the html with which it works correctly:

 
    