404 кидается на
if not request.json:
print(request.json)
abort(404)
Опустим вопрос, а почему тут кидается 404, хотя по смыслу должен быть 400.
А чтобы не кидалось 404 надо добавить json-тело запросу примерно так:
var httpClient = new HttpClient();
var request = new
{
login = "admin",
password = "12345"
};
var jsonString = JsonSerializer.Serialize(request);
var response = await httpClient.PostAsync(url, new StringContent(jsonString))
var contentString = await response.Content.ReadAsStringAsync();
var result = JsonDocument.Parse(contentString);