Segue resolução:
Criei a classe GotCharacter:
using System.Text.Json.Serialization;
namespace ScreenSound4.Challenge;
internal class GotCharacter
{
    [JsonPropertyName("name")]
    public string? Name { get; set; }
    [JsonPropertyName("gender")]
    public string? Gender { get; set; }
    public void ShowCharacterDetails() => Console.WriteLine($"Name: {Name} | Gender: {Gender}");
}
e por aqui realizei a requisição, trazendo sempre um personagem diferente em um range de 1 a 2138.
using ScreenSound4.Challenge;
using System.Text.Json;
using(HttpClient client = new HttpClient())
{
    try
    {
        Random random = new Random();
        string answer = await client.GetStringAsync($"https://www.anapioficeandfire.com/api/characters/{random.Next(1,2138)}");
        var character = JsonSerializer.Deserialize<GotCharacter>(answer)!;
        character.ShowCharacterDetails();
    }catch(Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
}
 
            