Getting bad request for json code. How to fix?

Trying to understand why gettin Bad Request sending such json code in data:

[{"SpeakerName":"Alex","Time":"07:34:15","MessageText":"Test message"}]

My method:

public async Task<string> Request(string instruction, string data)
{
    // return @"";
    Request request = new Request();
    request.Messages = new RequestMessage[]
    {
        new RequestMessage()
        {
             Role = "system",
             Content = instruction
        },
        new RequestMessage()
        {
             Role = "user",
             Content = data
        }
    };

    string requestData = JsonConvert.SerializeObject(request);
    StringContent content = new StringContent(requestData, Encoding.UTF8, "application/json");

    using (HttpClient httpClient = new HttpClient())
    {
        ServicePointManager.Expect100Continue = true;
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

        //httpClient.DefaultRequestHeaders.Add("Bearer",apiKey);
        httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _apiKey);
        HttpResponseMessage httpResponseMessage = await httpClient.PostAsync(_apiUrl, content);

        if (httpResponseMessage.IsSuccessStatusCode)
        {
            string responseString = await httpResponseMessage.Content.ReadAsStringAsync();
            Response response = Newtonsoft.Json.JsonConvert.DeserializeObject<Response>(responseString);
            return response.Choices[0].Message.Content;
        }
        else
        {
            throw new HttpRequestException
                ($"Error: {httpResponseMessage.StatusCode} - {httpResponseMessage.ReasonPhrase}");
        }
    }
 }

Extra classes:

 public class Request
 {
     [JsonProperty("model")]
     public string Model { get; set; } = "gpt-3.5-turbo";
     [JsonProperty("max_tokens")]
     public int MaxTokens { get; set; } = 30000;
     [JsonProperty("messages")]
     public RequestMessage[] Messages { get; set; }
 }

 public class RequestMessage
 {
     [JsonProperty("role")]
     public string Role { get; set; }
     [JsonProperty("content")]
     public string Content { get; set; }
 }

 public class Response
 {
     [JsonProperty("id")]
     public string Id { get; set; }
     [JsonProperty("created")]
     public int Created { get; set; }
     [JsonProperty("model")]
     public string Model { get; set; }
     [JsonProperty("usage")]
     public ResponseUsage Usage { get; set; }
     [JsonProperty("choices")]
     public ResponseChoice[] Choices { get; set; }
 }

 public class ResponseUsage
 {
     [JsonProperty("prompt_tokens")]
     public int PromptTokens { get; set; }
     [JsonProperty("completion_tokens")]
     public int CompletionTokens { get; set; }
     [JsonProperty("total_tokens")]
     public int TotalTokens { get; set; }
 }

 public class ResponseChoice
 {
     [JsonProperty("message")]
     public ResponseMessage Message { get; set; }
     [JsonProperty("finish_reason")]
     public string FinishReason { get; set; }
     [JsonProperty("index")]
     public int Index { get; set; }
 }

 public class ResponseMessage
 {
     [JsonProperty("role")]
     public string Role { get; set; }
     [JsonProperty("content")]
     public string Content { get; set; }
 }